我正在使用javascript for循环,循环遍历特定数组并提醒它的值。我希望在每次警报后它应该停止30秒然后继续......直到循环结束。 我的代码在这里..
for(var i=0; i<valArray.lenght; i++)
{
alert("The value ="+valArray[i]);
//stop for 30seconds..
}
我已经使用了setTimeout()函数,但是它没有工作...作为循环结束迭代但不停顿30秒间隔... 有没有其他方法,如PHP中的睡眠功能
答案 0 :(得分:10)
for (var i = 0; i < valArray.length; i++)
(function(i) {
setTimeout(function() {
alert(valArray[i]);
}, i * 30000);
})(i);
编辑修复闭包循环问题。
答案 1 :(得分:6)
JavaScript中没有睡眠功能。 您可以将以上代码重构为:
function alert_and_sleep(i) {
alert("The value ="+valArray[i]);
if(i<valArray.length) {
setTimeout('alert_and_sleep('+(i+1)+')',30000);
}
}
alert_and_sleep(0);