zoukankan      html  css  js  c++  java
  • 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=" 400px;background-color: pink;" class="wrap">
                <div style=" 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({
                        '+=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({'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。如果希望改变多个属性或者其他效果,则使用自定义动画。

  • 相关阅读:
    [LeetCode] Convert Sorted Array to Binary Search Tree
    [LeetCode] Diameter of Binary Tree
    [LeetCode] Student Attendance Record I
    [LeetCode] Reverse String II
    [LeetCode] Missing Number
    [LeetCode] Intersection of Two Arrays II
    [LeetCode] Base 7
    Ubuntu中firefox设置成中文
    Linux中的查找命令find
    Ubuntu14.04安装配置Chrome浏览器
  • 原文地址:https://www.cnblogs.com/benxiaohai-microcosm/p/8466009.html
Copyright © 2011-2022 走看看