javascript - jquery动画队列的自动添加和执行
巴扎黑
巴扎黑 2017-04-11 12:08:36
[JavaScript讨论组]
$(function() {
    $('#btn').click(function(){
      $(".test").animate({width:'+=256'},2500);
      $(".test").animate({height:'+=256'},2500);
      $(".test").queue(function(){ 
          $(this).css({'backgroundColor':'black'});
          // $(this).dequeue(); //顺利执行
      });
      $(".test").dequeue(); 
      $(".test").animate({width:'-=256'},2500);
      $(".test").animate({height:'-=256'},2500);
    });
  });

上面的代码会让前两个动画并行执行, 后续的动画却不会.

由此引发了我的两个问题:

  1. 一个动画包括了进入队列和动画执行两个步骤. 诸如$(".test").animate({width:'+=256'},2500);这样添加的动画, 是先把所有的动画添加到动画队列, 再执行吗?
    可不可以理解为$(".test").animate({width:'+=256'},2500);这行代码只是为动画队列添加了一个动画, 而并不是执行这个动画? 那这个动画的执行又是在哪一步实现的?

  2. 动画队列都是无阻塞的, 而为队列添加函数(.queue方法)并不是一个动画, 为什么没有提前添加到动画队列中, 而是等前两个动画都执行完了才添加.

问题描述得有点逻辑不清晰, 等我继续思考一下怎么把他描述清楚, 望能大概理解我意思的大神不嫌弃解答一下, 谢谢!

巴扎黑
巴扎黑

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号