zoukankan      html  css  js  c++  java
  • jQuery(6)——jQuery animate动画

    jQuery 效果- 动画


    语法:

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

    必需的 params 参数定义形成动画的 CSS 属性。

    可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

    可选的 callback 参数是动画完成后所执行的函数名称。

    jQuery所有动画属性都可以被动画化为一个单独的数值,除了下面所提到的以外,大多数非数字的属性不能使用基本的jQuery功能进行动画(例如,宽度、高度或者左边可以被动画化,但是背景颜色,字体颜色不能)

    参考手册:https://www.w3cschool.cn/jquery/eff-animate.html


    jQuery stop() 方法

    • jQuery stop() 方法用于停止动画或效果,在它们完成之前。
    • stop() 方法适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画。

    语法:

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

    可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。
    因此,默认地,stop() 会清除在被选元素上指定的当前动画。


    练习demo:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>jQuery学习 animate动画</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
        <script>
        $(document).ready(function(){
    
            $("#btn1").click(function(){
                $("#test").animate({
                    left:'50px',
                    top:'100px',
                    opacity:'0.8',
                    height:'150px',
                    '250px',
                });
            }); 
    
            $("#btn2").click(function(){
                $("#test2").animate({
                    height:'toggle',
                    'toggle',
                });
            }); 
    
            $("#btn3").click(function(){
                var obj=$("#test3")
                obj.animate({height:'300px'},'slow');
                obj.animate({'300px'},'slow');
                obj.animate({height:'200px'},'slow');
                obj.animate({'200px'},'slow');
                obj.animate({opacity: "0.5",},'slow');
            });
            $("#btn4").click(function(){
                $("#test3").stop();
            })
            
        })
        </script>
        <style>
            .box,.box2,.box3{
                 300px;
                margin:0 auto;
                border: 2px solid green;
                position: relative;
            }
            .box2{
                margin-top:220px;
            }
            .box3{
                background-color: red;
            }
            #test{
                background:#98bf21;
                200px;
                position:absolute;
            }
            #test2,#test3{
                background-color:yellow;
                200px;
                height: 200px;
            }
        </style>
    </head>
    <body>
        <div class="box">
            <button id="btn1">点击</button>
            <div id="test">
                    默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。 
                    如果需要改变为,我们需要将元素的 position 属性设置为 relative, fixed, 或 absolute!
            </div>
        </div>
        <div class="box2">
            <button id="btn2">toggle实现显示隐藏</button>
            <div id="test2">
                toggle
            </div>
        </div>
        <div class="box3">
                <button id="btn3">多个animate</button><button id="btn4">停止</button>
                <div id="test3">
                    多个animate
                    jQ无法的animate无法修改背景色,
                    可以设置父级背景色和子级的背景色+透明度opacity来修改(虽然有点不可预知)
                </div>
            </div>
    </body>
    </html>
    

    预览

    See the Pen mzWLxb by 练涛 (@liantao) on CodePen.

  • 相关阅读:
    线段树小结
    线段树 区间合并
    线段树
    线段树离散化+区间修改
    线段树模板

    geatpy
    基于Anaconda 安装 geatpy 和 tensorflow
    Python 求“元组、列表、字典、数组和矩阵”的大小
    np.array()和np.mat()区别
  • 原文地址:https://www.cnblogs.com/famine/p/9765987.html
Copyright © 2011-2022 走看看