美文网首页
JQuery的零零星星

JQuery的零零星星

作者: XJBQ | 来源:发表于2017-03-12 22:53 被阅读0次

    jQuery还为我们封装了很多实用的函数及一些常见却在原生中没有的事件:

    原有的domReady事件也有了新的写法:

    $(document).ready(function(){
      //code
    });
    //更常用的简单写法:
    $(function(){
      //code
    })
    

    常见的hide() show()代替了以往我们所用的display:none/block;样式;

    jQuery中的添加的 toggle 事件,绑定两个或多个事件处理器函数,以响应被选元素的轮流的 click 事件,例如:

    //采用连续点击事件替代 原生代码中点击按钮使div显示隐藏不可或缺的if判断
    $('input').toggle(function(){
        $('div').hide();
    },function(){
        $('div').show();
    });
    

    CSS中用过的 hover 我们也能用jQuery代码实现:

    $('#btn').hover(function(){
      //鼠标移入的执行函数
    },function(){
      //鼠标移出的执行函数
    });
    

    再如一些fadeIn()/fadeOut()淡入淡出,sildeDown()/sildeUp()下拉收起等动画效果,也能直接实现,但是不建议直接使用,因为当短时间内连续触发事件后这些函数将累积起来连续执行,这可不是我们想看到的,这时不得不提到 stop() 函数中止当前动画,解决上面提到的问题。

    而且jQuery中的 animate() 函数能完美的到达以上效果并且可以再此上定制自己想要的效果,这时也不能忘在每个animate()前加上stop()函数;

    animate(params,[speed],[easing],[fn])
        //params:一组包含作为动画属性和终值的样式属性和及其值的集合
        //speed:三种预定速度之一的字符串("slow","normal", or "fast")
                或表示动画时长的毫秒数值(如:1000)
        //easing:要使用的擦除效果的名称(需要插件支持).默认jQueryti提供"linear" 和 "swing"
        //fn:在动画完成时执行的函数,每个元素执行一次。
    

    animate()函数是通过原生运动框架实现的,所以动画属性必须有数字化的初始值与终值,若要修改譬如颜色等样式,需插件支持。

    最后要提到对象的问题:原生对象,不能用jQuery的方法的操作;jQuery对象也不能用原生的方法操作。但是两者间可以互相转化:
    把jq对象转成原生对象:$('div')[0]
    把原生对象转成jq对象:$(oDiv)
    另外在jQuey里,this,通常情况下(在多数情况下),指的是原生对象(而不是jQuery对象),写法为$(this)

    相关文章

      网友评论

          本文标题:JQuery的零零星星

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