jQuery动画与ajax

作者: 饥人谷_Jack | 来源:发表于2017-10-29 01:33 被阅读0次

题目1: jQuery 中, $(document).ready()是什么意思?

  • 当DOM准备就绪时,指定一个函数来执行。与JavaScript提供了window.onload事件的区别:

简单来说 window.onload是当页面呈现时用来执行这个事件,直到所有的东西,如图像已被完全接收前,此事件不会被触发
$(document).ready()只要DOM结构已完全加载时,脚本就可以运行。传递处理函数给.ready()方法,能保证DOM准备好后就执行这个函数

题目2: $node.html()和$node.text()的区别?

  • $node.html()是获得元素所有的标签和内容
  • $node.text()是获取元素的内容

题目3: $.extend 的作用和用法?

  • 用一个或多个其他对象来扩展一个对象,返回被扩展的对象。
    var obj1 = {a:1,b:2}
    var obj2 = {a:1,b:2,c:3}
    var obj3 = {}
    var obj4 = {d:4,e:5}
    $.extend(obj3,obj1,obj2)
    var obj5 = $.extend({},obj2,obj4)
    console.log(obj3)
    console.log(obj5)

题目4: jQuery 的链式调用是什么?

  • 链式调用就是每次方法的使用返回的还是调用这个方法的元素本身

题目5: jQuery 中 data 函数的作用

  • 在元素上存放或读取数据,返回jQuery对象。
$("div").data("blah");  // undefined
$("div").data("blah", "hello");  // blah设置为hello
$("div").data("blah");  // hello
$("div").data("blah", 86);  // 设置为86
$("div").data("blah");  //  86
$("div").removeData("blah");  //移除blah
$("div").data("blah");  // undefined

题目6:写出以下功能对应的 jQuery 方法:

  • 给元素 $node 添加 class active,给元素 $noed 删除 class active
$node.addClass('active')
$node.removeClass('active')
  • 展示元素$node, 隐藏元素$node
$node.show()
$node.hide()
  • 获取元素$node 的 属性: id、src、title, 修改以上属性
$node.attr('id')
$node.attr('id','value')
$node.attr('src')
$node.attr('id','value')
$node.attr('title')
$node.attr('id','value')
  • 给$node 添加自定义属性data-src
$node.attr('data-src','http://aaa.com')
  • 在$ct 内部最开头添加元素$node
$ct.prepend($node)
  • 在$ct 内部最末尾添加元素$node
$ct.append($node)
  • 删除$node
$node.remove()
  • 把$ct里内容清空
$ct.empty()
  • 在$ct 里设置 html <div class="btn"></div>
$ct.html('<div class="btn"></div>')
  • 获取、设置$node 的宽度、高度(分别不包括内边距、包括内边距、包括边框、包括外边距)
$node.width()
$node.height()
$node.innerWidth()//包括内边距
$node.innerHeight()//包括内边距
$node.outerWidth()//包括内边距和边框
$node.outerHeight()//包括内边距和边框
$node.outerWidth(true)//包括内边距和边框和外边距
$node.outerHeight(true)//包括内边距和边框和外边距
  • 获取窗口滚动条垂直滚动距离
$(window).scrollTop()
  • 获取$node 到根节点水平、垂直偏移距离
$node.offset()
  • 修改$node 的样式,字体颜色设置红色,字体大小设置14px
$node.css({color:'red','font-size':'14px'})
  • 遍历节点,把每个节点里面的文本内容重复一遍
    $('div').each(function(){
      var str = $(this).text()
      $(this).text(str + str)
    })
  • 从$ct 里查找 class 为 .item的子元素
$ct.find('.item')
  • 获取$ct 里面的所有孩子
$ct.find('*')
  • 对于$node,向上找到 class 为'.ct'的父亲,在从该父亲找到'.panel'的孩子
$node.parents('.ct').find('.panel')
  • 获取选择元素的数量
$node.length
  • 获取当前元素在兄弟中的排行
$node.index()

题目7:用jQuery实现以下操作

  • 当点击$btn 时,让 $btn 的背景色变为红色再变为蓝色
    $('button').on('click',function() {
      $('.ct').css('background-color',"red")
      setTimeout(function(){
        $('.ct').css('background-color',"blue")
      },600)
    })
  • 当窗口滚动时,获取垂直滚动距离
    $(window).on('scroll',function(){
      $('.ct').text($(window).scrollTop())
    })
  • 当鼠标放置到$div 上,把$div 背景色改为红色,移出鼠标背景色变为白色
   $('.ct').on('mouseenter',function(){
     $(this).css('background-color','red')
   })
   $('.ct').on('mouseleave',function(){
     $(this).css('background-color','white')
   })
  • 当鼠标激活 input 输入框时让输入框边框变为蓝色,当输入框内容改变时把输入框里的文字小写变为大写,当输入框失去焦点时去掉边框蓝色,控制台展示输入框里的文字
  $('input').on('focus',function(){
    $('input').css('border-color','blue')
  })
  $('input').on('blur',function(){
    $('input').css('border','')
  })
  $('input').on('change',function(){
    var $val = $('input').val()
    console.log($val.toUpperCase())
  })
  • 当选择 select 后,获取用户选择的内容
    $('#city').on('change',function(e){
      console.log($('#city option:selected').text())

题目8: 用 jQuery ajax 实现如下效果。

 <div class="wrap">
    <ul>
      <li>内容1</li>
      <li>内容2</li>
    </ul>
  </div>
  <div class="btn">
    <button>加载更多</button>
  </div>

  <script>
    var pageIndex = 3;
    $('.btn button').on('click', function () {
      $.ajax({
        url: '/loadMore',
        type: 'get',
        dataType: 'json',
        data: { index: pageIndex, length: 5 }
      }).done(function (data) {
        add(data)
        console.log(data)
      }).fail(function () {
        console.log('失败')
      })
      pageIndex += 5;
    })
    function add(str) {
      for (var i = 0; i < str.length; i++) {
        var html = ''
        html += '<li>' + str[i] + '</li>'
        $('.wrap>ul').append(html)
      }
    }
router.get('/loadMore', function(req, res) {
  var pageIndex = req.query.index
  var len = req.query.length
  var data = []
  for (var i = 0; i < len; i++) {
    data.push('内容' + (parseInt(pageIndex) + i))
  }
  res.end(JSON.stringify(data))
})

相关文章

  • jQuery动画与ajax

    jQuery动画与ajax jQuery 中, $(document).ready()是什么意思 jQuery的l...

  • Ajax实现登陆验证

    关于jquery与Ajax jQuery 提供多个与 AJAX 有关的方法。通过 jQuery AJAX 方法,能...

  • jQuery动画与ajax

    1:jQuery 中, $(document).ready()是什么意思? $(document).ready()...

  • jQuery动画与ajax

    1、jQuery 中, $(document).ready()是什么意思? $(document).ready()...

  • jQuery动画与Ajax

    jQuery 中, $(document).ready()是什么意思? 必须在DOM元素加载完成后,即DOM树建立...

  • jQuery动画与ajax

    题目1: jQuery 中, $(document).ready()是什么意思? $(document).read...

  • JQuery动画与ajax

    1. jQuery 中, $(document).ready()是什么意思? 当DOM准备就绪时,指定一个函数来执...

  • jQuery动画与ajax

    题目1: jQuery 中, $(document).ready()是什么意思? 题目2: $node.html(...

  • jQuery动画与ajax

    1: jQuery 中, $(document).ready()是什么意思? $(document).ready(...

  • jQuery动画与ajax

    1、 jQuery 中, $(document).ready()是什么意思? 主要用来加载DOM,替代原生Java...

网友评论

    本文标题:jQuery动画与ajax

    本文链接:https://www.haomeiwen.com/subject/hbdjpxtx.html