zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    webclassify 用于网页分类的python工具包
    基于Web 开发模式的信息抽取
    携梦远行 » curl 抓取跳转内容
    CharField cannot have a "max_length" greater than 255 when using "unique=True" Google Groups
    并发编程利器Eventlet
    ANSI colored Python logging — Gist
    Fabulous — fabulous v0.1.5 documentation
    让你的博客支持MetaWeblog离线发布_维护记录 站点功能_DangJian's Blog
    Plumber Jack: Colourising logging output in terminals
    ajax客户端与服务端传输字符串
  • 原文地址:https://www.cnblogs.com/s-z-y/p/4381919.html
Copyright © 2011-2022 走看看