jQuery动画使用总结

jQuery动画我用的比较多的仅仅只有show和hide,但是作为一个被我们大多数人所熟知的框架,相信他的动画功能还是比较多样的,这里做个小总结。

1.jQuery animate(),用于创建自定义动画。

语法:

$(selector).animate({params},speed,callback);

params:动画要操作的属性,几乎包括所有的css属性,不过需要注意,当要操作注入padding-left等时需要使用camel命名法,不能用小横线这种方式命名属性。同时,除了使用绝对值方式操作属性值,还可以使用相对值得方式,也就是在原来的基础上加减值。

speed:动画速度,可以是fast,slow,也可以是毫秒值。

callback:动画完成后执行的函数名称。

看一个例子:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>jQuery动画</title>
        <script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
    </head>

    <body>
        <button class="btn">开始动画</button>
        <div style="width: 400px;background-color: pink;" class="wrap">
            <div style="width: 100px;background-color: lightcyan" class="content">i am content</div>
        </div>
    </body>
    <script>
        $('.btn').on('click', function() {
            $('.wrap').animate({
                height: '300px',//可以使用绝对值
                padding:'30px',
            }, 1000, function() {
                $('.content').animate({
                    width:'+=200px',//也可以使用相对值,在原来的基础上加或者减
                    marginTop:'100px'//camel命名法操作多个单词拼接的属性值
                }, 1000, function() {
                    alert('动画执行完毕!');
                });
            });
            
        });
    </script>

</html>

给动画使用预定义值:slow,fast,toggle

        $('.btn').on('click', function() {
            $('.wrap').animate({
                height: 'toggle'
            });
        });

toggle会让元素的height在没有到初始值之间切换。

使用动画的队列功能:如果给同一个元素,按照顺序定义不同的动画,则动画会按照定义顺序依次执行

        $('.btn').on('click', function() {
            $('.wrap').animate({heigt:'100px'});
            $('.wrap').animate({width:'200px'});
        });

如果我们把宽高变化,写在同一个animate中,则他们会同时变化,这样分开写,他们会按照我们书写的顺序,依次执行。

2.jQuery stop(),停止动画。

jQuery stop() 方法用于停止动画或效果,在它们完成之前。

stop() 方法适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画

$(selector).stop(stopAll,goToEnd);

可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。

可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。

因此,默认地,stop() 会清除在被选元素上指定的当前动画。

3.show()和hide():显示和隐藏元素,可带参数,决定动画的快慢。

duration:决定动画执行快慢的参数,可取fast,slow,normal和具体的数值,单位是毫秒。

easing:过渡的缓动函数,jQuery中提供两种匀速和变速,linear表示匀速直线运动,而swing则表示变速运动。

4.toggle():切换动画

5.slideUp()和slideDown(),slideToggle():上下动态隐藏元素

        $('.btn').on('click', function() {
            $('.wrap').slideToggle();
        });

6.fadeIn(),fadeOut(),fadeToggle():淡入淡出显示和隐藏元素

7.fadeTo():让元素变化为固定的透明度

        $('.btn').on('click', function() {
            $('.wrap').fadeTo('slow',.5);
        });

一般来说,toggle是该动画分类中两个相反子动画的组合动画,因此后面的例子都未给出。这些jQuery动画,除了自定义动画以外,基本分为三大类,fade,slide和show。show类动画是高度和透明度同时变化来显示和隐藏的动画。fade是改变透明度显示和隐藏的动画,slide类是通过改变高度来显示和隐藏的动画。

小结:在使用jQuery动画的过程中,如果我们希望同时改变高度和透明度,则使用show和hide。如果只希望改变高度,则使用slideUp和slideDown,如果只希望改变透明度则使用fadeIn和fadeOut。如果希望改变多个属性或者其他效果,则使用自定义动画。

posted @ 2018-04-19 16:01  喜欢的事用心去做  阅读(199)  评论(0编辑  收藏  举报