有没有办法设置动画函数的队列长度?
想象一下有人使用箭头键激活jQuery动画功能。现在他像疯了一样冲破箭头键,必须等待排队的功能完成,这可能需要花费很多时间,可能会令人困惑和神经紧张。我知道你可以停止()一个动画,但我希望它只有一个队列长度让我们说三个。
这是一个fiddle。打开它并按下你的钥匙。
示例代码:
var div = $(".bouncer");
function runIt() {
div
.animate({ left: "+=200" }, 500 )
.animate({ left: "-=200" }, 500 )
}
$(document).keydown(function(e) {
if (e.keyCode) {
runIt();
}
});
答案 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 /