我有一个循环,在循环这样如何产生延迟效应
$.each(requiredCities,function(keya,valb){
$.each(requiredKeyWords,function(keya,valb){
download(keya,valb);
});
});
我想这个下载功能被称为每2秒。 问题是我无法使用setTimeout。
我有一个循环,在循环这样如何产生延迟效应
$.each(requiredCities,function(keya,valb){
$.each(requiredKeyWords,function(keya,valb){
download(keya,valb);
});
});
我想这个下载功能被称为每2秒。 问题是我无法使用setTimeout。
这样做:
var i=1;
$.each(requiredCities,function(keya,valb){
$.each(requiredKeyWords,function(keya,valb){
var timerId = setInterval(function(){
download(keya,valb);
clearInterval(timerId);
}, 2000*(i++));
});
});
干杯
是这个解决方案的作品,谢谢 – Dhiraj 2011-05-07 13:56:09
如果您想在下次调用之前等待一段时间,请使用jQuery API中的delay
方法。
如果您希望您的代码在一段时间后不断再次运行(我认为您的情况基于您的评论),请使用everyTime
方法jQuery Timer Plugin。
我发现创建一个简单的功能,并通过的setInterval,而不是setTimeout的调用通过函数代码。这实际上取决于你想要做什么。
也许这将更好地工作:
setInterval("fooBar()", 1000);
function fooBar(){
$.each(requiredCities,function(keya,valb){
$.each(requiredKeyWords,function(keya,valb){
download(keya,valb);
});
});
}
不知道是否可行,但在第一次刷我认为这将是罚款
非常感谢你悬崖,我得到它的工作:) – Dhiraj 2011-05-07 14:02:14
笔者暗示,他不希望在代码中使用的setInterval ,但接受了这个答案。很明显,这个问题没有很好地制定。 – 2011-05-07 14:01:35
非常感谢你,但是如果我可以重申我所说的话,“没有setInterval也没有帮助”。 – Dhiraj 2011-05-07 14:05:07
自澄清之后删除了-1。但我建议阅读:http://meta.stackexchange.com/questions/18584/how-to-ask-a-smart-question。 – 2011-05-07 14:12:28