Javascript - for 循环中的 sleep()

Maj*_*son 1 javascript sleep

我有这个脚本:

var array = [];
array[0] = 'http://facebook.com/';
array[1] = 'http://instagram.com/';
array[2] = 'http://twitter.com';

$(document).ready(function()
{
    for(i=0; i<= 2; i++)
    {
        $('#ifr').attr('src', array[i]);
        // sleep here for 0,5 second
    }
});
Run Code Online (Sandbox Code Playgroud)

以及如何将这个循环停止 0.5 秒?

Raj*_*amy 5

您可以setTimeout为此目的使用,

for(i=0; i<=2; i++) {
  setTimeout(function(i) {
    $('#ifr').attr('src', array[i]);
  },500 * i,i);
  //1000 ms is 1 sec, here I have give 0.5 seconds as a delay.
}
Run Code Online (Sandbox Code Playgroud)

无需为每次迭代创建范围来处理闭包问题。您可以使用的第三个参数setTimout来设置callBack函数的参数。