Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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
Jquery 如何产生延迟效应_Jquery_Loops_Timer_Delay - Fatal编程技术网

Jquery 如何产生延迟效应

Jquery 如何产生延迟效应,jquery,loops,timer,delay,Jquery,Loops,Timer,Delay,我有一个这样的循环 $.each(requiredCities,function(keya,valb){ $.each(requiredKeyWords,function(keya,valb){ download(keya,valb); }); }); 我希望每2秒调用一次此下载函数。 问题是我无法使用setTimeout。如果要在下一次调用之前等待一段时间,请使用中的delay方法 如果您希望代码在一段时间后继续运行(我认为这是基于您的评论),请每次使用中的方法。执行以下操作: va

我有一个这样的循环

$.each(requiredCities,function(keya,valb){
 $.each(requiredKeyWords,function(keya,valb){
  download(keya,valb);
 });
});
我希望每2秒调用一次此下载函数。
问题是我无法使用setTimeout。

如果要在下一次调用之前等待一段时间,请使用中的
delay
方法

如果您希望代码在一段时间后继续运行(我认为这是基于您的评论),请每次使用中的
方法。

执行以下操作:

var i=1;
$.each(requiredCities,function(keya,valb){
 $.each(requiredKeyWords,function(keya,valb){
    var timerId = setInterval(function(){
       download(keya,valb);
       clearInterval(timerId);
    }, 2000*(i++));    
 });
});

干杯

我发现创建一个简单的函数并通过函数通过setInterval而不是setTimeout调用代码是非常困难的。这取决于你想做什么

也许这会更好:

setInterval("fooBar()", 1000);

function fooBar(){
$.each(requiredCities,function(keya,valb){
 $.each(requiredKeyWords,function(keya,valb){
  download(keya,valb);
 });
});
}

不确定这是否有效,但首先我认为这很好,但它说.delay()方法最适合在排队的jQuery效果之间进行延迟,所以在这种情况下如何使用延迟作者暗示他不想在代码中使用setInterval,但接受了这样的答案。很明显,这个问题没有得到很好的阐述。非常感谢,但是如果我可以重申我所说的话,“没有设置间隔也没有帮助”。删除了-1,因为您已经澄清了它。但我建议这样写:。