我需要添加iframe,彼此之间要等待1秒,而不是一次添加所有iframe。没有运气就试了一下,只是一次全部添加。
var i = 0;
function appendSomeItems() {
for (var j=0; j<50; i++, j++) {
$('body').append('<iframe src="http://www.example.com"></iframe>').delay(1000);
}
if (i < 50) window.setTimeout(appendSomeItems, 0);
}
appendSomeItems();
正确的方法是什么?谢谢。
最佳答案
for (var j = 0; j < 50; j++) {
setTimeout(function() {
$('body').append('<iframe src="http://www.example.com"></iframe>');
}, j * 1000); // each call is scheduled to run after j seconds
}
ps:请勿在建立所需的调用次数后使用非常大的数字或将setInterval与单个函数,计数器和计时器清除配合使用,或者在定时函数的当前调用结束时将
setTimeout
用于下一个调用。只需在上次通话中跳过该步骤即可。关于javascript - 睡一秒钟然后追加?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26330600/