jQuery中queue和dequeue

用queue把函数加入队列(通常是函数数组)
用dequeue将函数数组中的第一个函数取出,并执行(用shift()方法取出并执行)
_____________________________________________________________________________________________________________________

queue方法最常用于animate动画,ajax,以及timeout等。
当我们需要依次执行某些函数时,最常用的是回调。但回调多了后会造成逻辑上的阅读困难,如下

$("#block1").animate(...,function() {
    $("#block2").animate(...,function() {
        $("#block1").animate(...,function() {
            $("#block2").animate(...,function() {
                $("#block1").animate(...,function(){
                    ...
                });
            });
        });
    });
});

但使用queue则能看的更清楚,使用方法是:
1. 新建一个数组,把动画函数依次放进去;
2. 用queue将这组动画函数数组加入到队列中;
3. 用dequeue取出队列中第一个函数, 并执行它;
4. 初始执行第一个函数.

var FUNC=[
    function() {$("#block1").animate(...,aniCB);},
    function() {$("#block2").animate(...,aniCB);},
    function() {$("#block1").animate(...,aniCB);},
    function() {$("#block2").animate(...,aniCB);},
    function() {$("#block1").animate(...,aniCB);},
    function(){alert("动画结束")}
];
var aniCB=function() {
    $(document).dequeue("myAnimation");
}
$(document).queue("myAnimation",FUNC);
aniCB();

queue还经常用于

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值