执行代码之间的差距

时间:2014-02-12 11:33:44

标签: javascript jquery

假设我有20行代码:

alert('x1');
alert('x2');
alert('x3');
.....

我如何一个接一个地执行这些行或者说一个接一个的间隙?

Normaly它看起来像这样,但对我来说这个解决方案太长了:

setTimeout(function(){
    alert('x1');
},500);
setTimeout(function(){
    alert('x2');
},1000);
setTimeout(function(){
    alert('x3');
},500);

我想把我的所有函数放在一个数组中然后让它们以间隙执行!这个问题是我必须给我所有的函数名称,我试着避免这个!你会如何处理我的问题?

2 个答案:

答案 0 :(得分:0)

var count = 0;   
var t = function run(){
    setTimeout(function(){
        count++;
        if(count == 1){
        alert('x1');
        }
        //and so on
    run(); 
    },500);      
} 
clearTimeout(t);

答案 1 :(得分:0)

var funcs = [];
funcs.push(function (){alert("x1");});
funcs.push(function (){alert("x2");});
funcs.push(function (){alert("x3");});
funcs.push(function (){alert("x4");});
funcs.push(function (){alert("x5");});
funcs.push(function (){alert("x6");});
//...

var counter =0;
var timer = setInterval(function(){
  funcs[counter]();
  counter++
  if (counter==funcs.length){
    clearInterval(timer);
  }
},500);