• jQuery中的经典动画


       show()方法和hide()方法是jQuery中的基本动画方法,hide()方法等于将css()方法设置display属性为none.如何让元素动起来呢,我们可以在show和hide里加入slow,fast,normal或者具体时间

    1 $("element").show("slow");//注意加引号哦~
    2 $("element").hide(1000);
    $("#panel h5.head").toggle(function(){
        $(this).next().hide(600);
    },function(){
        $(this).next().show(600);
    });


    和show()方法不同,fadeIn()方法和fadeOut()方法只改变元素的透明度。slideUp()方法和slideDown()方法只会改变元素的高度,如果一个元素的属性值设置为none,当调用slideDown()方法时,这个元素将由上至下延伸显示。

    jQuery中的任何动画效果,都可以指定3种速度参数,即"slow""normal""fast"(时间长度分别是0.6,0.4,0.2秒)

    或具体的数字()单位默认是毫秒。

    自定义动画方法animate()

    animate(params,speed,callback);

    callback为在动画完成时执行的函数,可选。

    下面介绍一下几种常见的动画:

    1累加,累减动画

    1 $(function(){
    2     $("#panel").click(function(){
    3         $(this).animate({left:"+=500px"},300);
    4     });
    5 });

    2多重动画
    2.1同时执行多个动画

    1 $(function(){
    2     $("#myImg").click(function(){
    3         $(this).animate({left:"500px",height:"200px"},3000)
    4     });
    5 });

    2.2按顺序执行多个动画

    1 $(this).animate({left:"500px"},3000)
    2         .animate({height:"200px"},3000);

    3综合动画

    1 $(function(){
    2     $("#panel").css("opacity","0.5");
    3     $("#panel").click(function(){
    4         $(this).animate({left:"400px",height:"200px",opacity:"1"},3000)
    5             .animate({top:"200px","200px"},3000)
    6             .fadeOut("slow");
    7     });
    8 });

    4回调函数
    在上例中,如果想在最后一步中切换元素的css样式,而不是隐藏元素,能不能直接在后面加入css()方法呢,答案是不可以的,css()方法并不会加入到动画队列中去,而是立即执行。callback回调函数适用于jQuery所有的动画效果方法,只要把css()方法写在最后一个动画的回调函数里即可。

     
     1  $(function(){
     2         $("#panel").css("opacity", "0.5");//设置不透明度
     3         $("#panel").click(function(){
     4               $(this).animate({left: "400px", height:"200px" ,opacity: "1"}, 3000)
     5                      .animate({top: "200px" , width :"200px"}, 3000 ,function(){
     6                          $(this).css("border","5px solid blue");
     7                      });
     8                      
     9         });
    10     });

    5停止元素的动画
    如果要在某处停止动画,需要使用stop()方法,语法结构:stop([clearQueue],[gotoEnd]);这两个参数都是可选参数,都是布尔值,第一个代表是否要清空未执行完的动画队列,第二个代表是否直接将正在执行的动画跳转到末状态。如果把第一个参数(clearQueue)设置为true,此时程序会把当前元素接下来尚未执行完的动画队列都清空,在遇到组合动画时的救急之术。stop(true,true)表示停止当前动画并直接到达到未执行动画队列的末状态。stop(false,true)可以让当前动画直接到达末状态。值得注意的是jQuery只能设置正在执行的动画的最终状态,而没有提供直接到达未执行动画队列最终状态的方法。

    6判断元素是否处于动画状态

    1 if(!$(element).is(":animated")){
    2     //如果没有新动画则添加新动画
    3 }

    7延迟动画

    1 $(this).animate({left:"400px",height:"2000px",opacity:"1"},3000)
    2         .delay(1000)
    3         .animate({top:"200px","200px"},3000)
    4         delay(2000)
    5         .fadeOut("slow");


    8其他动画方法

    8.1 toggle(speed,[callback])

    1 $("#panel h5.head").toggle(function(){
    2     $(this).next().hide();
    3 },function(){
    4     $(this).next().show();
    5 });

    8.2slideToggle()通过改变高度来切换匹配元素的可见性。

    8.3 fadeTo()方法可以把元素的不透明度以渐近方式调整到指定的值。

    8.4fadeToggle()方法通过不透明度变化来切换元素的可见性。

    把简单的事情做好就是不简单,这些看似简单的动画好好运用一定有变幻莫测的奇迹~

                                       

    欢迎关注微信公众号:“花栗鼠的红松树” 知乎专栏:“花栗鼠的红松树” 知乎: 卓怡 https://www.zhihu.com/people/zhuoyisun/activities
  • 相关阅读:
    PAT1001
    关于yahoo.com.cn邮箱导入Gmail邮箱验证异常的机制解析及解决办法
    浙大机试感受
    PAT1002
    mysql修改密码后无法登陆问题
    Windows 不能在 本地计算机 启动 OracleDBConsoleorcl
    Deprecated: Function ereg_replace() is deprecated
    PHP中静态方法(static)与非静态方法的使用及区别
    微信小程序开发,weui报“渲染层错误”的解决办法
    Android系统下载管理DownloadManager功能介绍及使用示例
  • 原文地址:https://www.cnblogs.com/s-z-y/p/4381919.html
Copyright © 2020-2023  润新知