【发布时间】:2015-01-14 16:12:58
【问题描述】:
我正在尝试在控制台日志浏览器中创建一个带有 setTimeout 的循环。但它不起作用。我尝试搜索但没有找到我需要的东西。基本上在每个循环中,在这个 printa 5sec 的延迟更新期间将有 5 秒的间隔。必须将数组带入循环。
var myArray1 = new Array( "orange", "blue", "white" );
for (var i = 0; i <= myArray1.length; i++) {
console.log("This fruit" + myArray1[i] + "is delcious!");
setTimeout(function(){ alert() }, 500); //AFTER FIVE SECONDS
setTimeout(function(){
} //CLOSE FOR
}, 5000); //AFTER FIVE SECONDS
让我举一个我用过的例子,它可以工作,但是代码太大了。我想要一种更好地理解循环的方法。
var myArray1 = new Array( "orange", "blue", "white" );
var var_time = 7000;
setTimeout(function(){
console.log("Fruit is " + myArray1[0]);
console.log("...stage 1 loading");
setTimeout(function(){
console.log("Fruit is " + myArray1[1]);
console.log( "...stage 2 loading");
setTimeout(function(){
console.log("Fruit is " + myArray1[2]);
console.log( "stage 2 finish");
alert();
console.log( "You code run perfect");
}, var_time); //stage 2
}, var_time); //stage 1
}, 500); //stage 0
【问题讨论】:
-
在 for 循环中使用
5000 * i作为超时。请记住,javascript 是异步的,因此所有的 setTimeouts 将基本上同时运行。
标签: javascript jquery loops for-loop settimeout