在JavaScript中设置循环执行延迟

在JavaScript中设置循环执行延迟,javascript,asp.net,web,Javascript,Asp.net,Web,我需要在JavaScript中设置for循环执行的延迟 这是我的密码: function myFunction1() { var list = document.getElementById('SomeList'); var items = list.getElementsByTagName('li'); for (var i = 0; i < items.length; ++i) { setTimeout(de

我需要在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');
    }
函数myFunction1(){
var list=document.getElementById('SomeList');
var items=list.getElementsByTagName('li');
对于(变量i=0;i
在将“alert('Hello')”代码添加到delayLoop函数后,我注意到setTimeout函数仅在执行myFunction1()后显示警报框

如何使用setTimeout将项目收集过程中的每个循环减慢到1500ms?

这可能会有所帮助

function pause(ms) {
    ms += new Date().getTime();
    while (new Date() < ms){}
} 
功能暂停(毫秒){
ms+=新日期().getTime();
while(新日期()
您可能需要在此处使用回调

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;
    }
}
var list=document.getElementById('SomeList');
var items=list.getElementsByTagName('li');
var i=0;
var myFunction1=函数(){
如果(i
这样,您的
myFunction1
将每1.5秒执行一次。

请参阅“JavaScript中的睡眠()