设置jQuery动画的队列长度

时间:2013-10-28 11:18:59

标签: javascript jquery function queue

有没有办法设置动画函数的队列长度?

想象一下有人使用箭头键激活jQuery动画功能。现在他像疯了一样冲破箭头键,必须等待排队的功能完成,这可能需要花费很多时间,可能会令人困惑和神经紧张。我知道你可以停止()一个动画,但我希望它只有一个队列长度让我们说三个。

这是一个fiddle。打开它并按下你的钥匙。

示例代码:

var div = $(".bouncer");

function runIt() {
div
    .animate({ left: "+=200" }, 500 )
    .animate({ left: "-=200" }, 500 )
}

$(document).keydown(function(e) {
    if (e.keyCode) {
        runIt();
    }
});

1 个答案:

答案 0 :(得分:0)

据我所知,没有直接的方法可以做到这一点,但试试这个:

var div = $(".bouncer");

function runIt() {
div.animate({left: "+=200" }, 500)
   .animate({left: "-=200" }, 500)
}

$(document).keydown(function (e) {
if (e.keyCode) {
    var len=div.queue("fx").length;
    if(len<=1)
      runIt();
    }
});

jsfiddle.net/kcCG5/4 /