【发布时间】:2015-05-25 21:55:21
【问题描述】:
我需要在 for 循环中停止我的代码,停止时间的 sleep() 函数不起作用,因为我的 HTML 在那段时间内没有呈现,setTimeout 函数将在执行设置代码之前继续循环。
例如,这将显示带有 1、2、3 的警报,然后显示带有 Stop 的 3 个警报。
function test(){
for (var i = 1;i<4;i++) {
alert(i);
setTimeout(function(){alert("Stop");},1000);
}
}
在让 HTML 呈现的同时,我怎么能等到继续循环?
【问题讨论】:
-
除了 setTimeout 之外,您还应该研究异步解决方案。
Element.onload = function(){/* other code here */ }或var pre = onload; onload = function(){if(pre)pre(); /* other code here */} -
你是说要先显示 alert(1) 然后 alert("Stop") 。然后经过一段时间的延迟,然后 alert(2) 然后 alert("Stop") 显示下一个。以此类推,直到 alert(4) 和 alert("Stop") 最后显示?
-
如何使用这些异步函数?
-
是的,我想这样做。
标签: javascript html delay settimeout sleep