可能重复:
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;
}
}
}
答案 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);
}