javascript中的延迟功能

时间:2013-01-19 10:38:04

标签: javascript

  

可能重复:
  Sleep in 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;
    }
  }
}

5 个答案:

答案 0 :(得分:3)

您可以使用setTimeout()

进行谷歌搜索,您会看到很多示例用法。

答案 1 :(得分:2)

你需要使用getTimeout函数,它在调用之前需要一个回调和几毫秒等。

for(i=0;i<10;i++){
    setTimeout((function(i) {
        return function() {
            $("#"+i).html("hi"+i);
        };
    })(i), 100) 
}

答案 2 :(得分:0)

使用setInterval(function,miliseconds)

答案 3 :(得分:0)

如前所述,使用setTimeout()。您有详细信息here

答案 4 :(得分: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);
}