Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为jQuery动画设置队列长度_Javascript_Jquery_Function_Queue - Fatal编程技术网

Javascript 为jQuery动画设置队列长度

Javascript 为jQuery动画设置队列长度,javascript,jquery,function,queue,Javascript,Jquery,Function,Queue,有没有办法设置动画函数的队列长度? 假设有人使用箭头键启动jQuery动画函数。现在,他疯狂地挥舞着箭头键,不得不等待排队的函数完成,这可能需要很多时间,可能会让人困惑和紧张。我知道可以停止()动画,但我希望它的队列长度为3 这是一个例子。打开它,按你的键 示例代码: var div = $(".bouncer"); function runIt() { div .animate({ left: "+=200" }, 500 ) .animate({ left: "-=200"

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

假设有人使用箭头键启动jQuery动画函数。现在,他疯狂地挥舞着箭头键,不得不等待排队的函数完成,这可能需要很多时间,可能会让人困惑和紧张。我知道可以停止()动画,但我希望它的队列长度为3

这是一个例子。打开它,按你的键

示例代码:

var div = $(".bouncer");

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

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

到目前为止,我知道没有直接的方法可以做到这一点,但请尝试以下方法:

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();
    }
});
var div=$(“.bouncer”);
函数runIt(){
div.animate({左:“+=200”},500)
.animate({左:“-=200”},500)
}
$(文档).keydown(函数(e){
如果(例如键码){
var len=div.queue(“fx”).长度;

如果(lenI)我相信您希望在再次设置动画之前对元素使用“停止”将停止上一个动画它对常规函数也起作用吗?您不能停止在该函数之外执行的函数,而是。animate()提供一种设置队列长度的方法?我不相信您可以设置最大值,但您可以使用
.queue
检查队列的当前长度。如果队列太长,您可以随时检查队列长度,然后中断该功能。