This question already has answers here:
How do I add a delay in a JavaScript loop?

(31个答案)


6年前关闭。




我想将“for循环”延迟一会儿,但是不知道该怎么做。

例如。假设此“for循环”从0到8运行,并且在每个i之后应该有2 sek的延迟。
for (var i=0; i<8; i++{
  do something...
  wait for 2 sek. and go on with i=i++;
}

最佳答案

您必须采用这种方式:

function jsHello(i) {
    if (i < 0) return;

    setTimeout(function () {

        alert("Hello " + i);

        jsHello(--i);

    }, 2000);
}

jsHello(5);


要么

function jsHello(i) {
    alert("Hello " + i);

    if (--i > -1) {
      setTimeout(function () { jsHello(i); }, 2000);
    }
}

jsHello(5);

09-06 17:57