0

可能重复:
在 Javascript 中休眠

我正在使用 javascript 动态编写 div。

我需要延迟时间将一个 div 写入另一个 div。

我正在使用 for 循环动态编写一个 div。

睡眠功能不工作。。

我的代码就像,

for(i=0;i<10;i++){
   sleep(100);
   $("#"+i).html("hi"+i);
}

function sleep(milliseconds) {
  var start = new Date().getTime();
  for (var i = 0; i < 1e7; i++) {
    if ((new Date().getTime() - start) > milliseconds){
      break;
    }
  }
}
4

5 回答 5

3

你可以使用setTimeout().

做一个谷歌搜索,你会看到很多示例用法。

于 2013-01-19T10:40:34.943 回答
2

您需要使用 getTimeout 函数,该函数在调用它之前需要一个回调和若干毫秒的等待时间。

for(i=0;i<10;i++){
    setTimeout((function(i) {
        return function() {
            $("#"+i).html("hi"+i);
        };
    })(i), 100) 
}
于 2013-01-19T10:42:45.673 回答
0

另一种使用setTimeout方法,在内部函数中使用它:

function writeDivs() {
  var i = 0;
  var divsToCreate = 100;
  var timeToSleep = 100;
  var createOneDiv = function () {
    if (i < divsToCreate) {
      $("#"+i).html("hi"+i);
      i++;
      setTimeout(createOneDiv, timeToSleep);
    }
  }
  setTimeout(createOneDiv, timeToSleep);
}
于 2013-01-19T11:23:27.007 回答
0

如前所述,使用 setTimeout()。你有细节在这里

于 2013-01-19T10:43:53.160 回答
0

使用 setInterval(function, 毫秒)

于 2013-01-19T10:40:53.443 回答