我有一個循環,在循環這樣如何產生延遲效應
$.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