JQ中的动画

作者: 三岁麻麻 | 来源:发表于2018-12-01 19:37 被阅读0次
    方法 介绍 示例
    hide() 隐藏 $("ele").hide(500)
    show() 显示 $("ele").hide(500)
    fadeOut() 淡出 改变透明度至隐藏
    fadeIn() 淡入 改变透明度至显示
    slideDown() 由上到下显示
    slideUp() 由下到上隐藏
    toggle() 切换元素的 可见状态
    slideToggle() 通过改变元素的高度来切换可见状态
    fadeToggle() 通过改变元素的透明度来切换可见状态
    fadeTo() 改变元素至固定的透明度 $('elel').fadeTo(600,.5);

    自定义动画animate()

    animate(params,speed,callback)

    params:包含样式属性及值到映射
    cllback:动画执行完成后到回调函数 适用与以上所有的JQ动画

    $('.btn').click(function(){
        var a = function(){
                console.log(1);
            };//回调函数
            $(this).next().animate({'width':'300px','height':'300px'},2000,a);
     });
    

    累加累减动画 “+=”实现累加累减动画

    $('.btn').click(function(){
        $(this).next().animate({left:'+=100px'},200);
    });
    

    多重动画同时执行

    $(this).next().animate({'left':'+=100px','top':'+=100px'},200);});
    

    多重动画先后执行

    $(ele) .animate({'left':'+=100px'},200).animate({top:'+=100px'},200);
    

    停止动画和判断是否处于动画状态

    stop([clearQueue],[gotoEnd])

    clearQueueb 布尔值表示是否要清空执行完成的队列动画
    gotoEnd 是否直接将正在执行的动画跳转到末尾
    直接使用stop()会立即停止当前正在进行的动画,并立即执行队列中的下一个动画 常用于解决类似用户操作过快的情况
    需要给stop()添加参数的情况

    $('.test').hover(function(){
            $(this).stop(true)
                .animate({'width':'+=200px'},1500)//如果不设置stop(true)属性此时触发光标移出事件,将执行下一步高度动画,而不是光标移除动画
                 .animate({height:'200px'},1500);
            },function(){
            $(this).stop(true)//通过设置第一个true参数 解决上面的问题
                 .animate({'width':'100px'},1500)
                 .animate({height:'100px'},1500);
      });
    

    is(":animated")判断是否在动画中,常用方法

        $('.btn').click(function(){
            if(! $(this).next().is(":animated")){
                $(this).next().animate({'width':'+=200px'},500);
            }
        });
    

    delay()延迟动画

    可以讲队列中的动画延迟操作,也可以用于自定义队列

    $('.btn').click(function(){
            if(! $(this).next().is(":animated")){
                $(this).next().animate({'width':'+=200px'},500)
                .delay(1000)//延迟动画
                .animate({height:"+=200px"});
            }
    });
    

    相关文章

      网友评论

        本文标题:JQ中的动画

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