我需要在JavaScript中执行for循环时设置延迟。
这是我的代码:
function myFunction1() {
var list = document.getElementById('SomeList');
var items = list.getElementsByTagName('li');
for (var i = 0; i < items.length; ++i) {
setTimeout(delayLoop, 1500);
}
}
function delayLoop() {
alert('Hello');
}
将“alert('Hello')”代码添加到delayLoop函数后,我注意到setTimeout函数仅在执行myFunction1()后显示警告框。
如何使用setTimeout将每个循环通过项目集合减慢到1500毫秒?
答案 0 :(得分:1)
也许这有帮助
function pause(ms) {
ms += new Date().getTime();
while (new Date() < ms){}
}
答案 1 :(得分:0)
您可能必须在此处使用回调
var list = document.getElementById('SomeList');
var items = list.getElementsByTagName('li');
var i = 0;
var myFunction1 = function() {
if ( i < items.length ) {
// Do some code with items[i]
i++;
setTimeout(myFunction1, 1500);
} else {
// No more elements
return;
}
}
这样你的myFunction1
将每1.5秒执行一次。