jQuery中的队列

关键词:队列

语法:

工具方法: $.queue(newQueue, queueName, callback);
函数执行: $('#box').queue(queueName, callback)

jquery队列是统一管理函数得执行顺序的,把函数放进一个有名称的队列中,在出队的时候执行。

    function fn1() {
        console.dir("f1")
    }
    function fn2() {
        console.dir("f2")
    }
    function fn3() {
        console.dir("f3")
    }

    // 入队 把函数添加到队列
    $.queue(document,'myque',fn1);
    $.queue(document,'myque',fn2);
    $.queue(document,'myque',fn3);

  // 出队 执行函数
    $.dequeue(document,'myque',fn1);    //f1
    $.dequeue(document,'myque',fn2);    //f2
    $.dequeue(document,'myque',fn3);    //f3

当让你也可以写成这样的形式:
* $(document).dequeue('myque',fn1);

值得注意的是,队列会异步执行,只有当前动作执行完了才可以执行下一个动作,(就像银行取款机,同一时间里面只能有一个人,只有当里面的人取完钱走了,下一个才可以进入,取钱,走人完成一整套动作之后下一个再重复
比如出队时我们这样调用:
* $.dequeue(document,'myque',fn3); //f1,f2
执行的是f1,f2出队,如果我们想要f3出队,就要这样做:

    $.dequeue(document,'myque',fn3);  
    $.dequeue(document,'myque',fn3); 
    $.dequeue(document,'myque',fn3); 

好了,队列概念我们就讲完了,这看起来并没有什么乱用,当时在jQuery却无处不在,比如
* $('#foo').slideUp().fadeIn();
只有在slideUp()执行完了之后才能执行fadeIn;

我们还可以用队列做异步动画:

    $('#box').animate({width:200},1000);
    $('#box').animate({height:200},1000);
    $('#box').animate({left:200},1000);

jQuery中延迟的方法也是通过队列实现的:

    $('#box').animate({width:200},1000);
    $('box').delay(2000);
    $('#box').animate({height:200},1000);
    $('#box').animate({left:200},1000);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 719评论 0 3
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,271评论 0 1
  • 从哪说起呢? 单纯讲多线程编程真的不知道从哪下嘴。。 不如我直接引用一个最简单的问题,以这个作为切入点好了 在ma...
    Mr_Baymax阅读 2,909评论 1 17
  • 请记得在进行JQuery类库的运用时,加入JQuery类库,并且要保证先写文档就绪函数 $(document).r...
    Sunshinemm阅读 3,029评论 1 40
  • 那是在公元两千年的仲夏,我中专毕业后参加工作半年多的时候。一个萤火虫漫天飞舞的夜里,我突然觉得自己的文凭太低太低了...
    云问雨阅读 186评论 0 2

友情链接更多精彩内容