以不同的时间间隔运行多个功能

时间:2015-05-18 08:27:05

标签: javascript jquery function loops delay

我有四个功能,

functionOne();
functionTwo();
functionThree();
functionFour();

我想要做的就是将这些功能称为不同的持续时间,即

// run functionOne
functionOne();
// delay for a duration of 200ms

//run functionTwo
functionTwo();
// delay for a duration of 600ms

// run functionThree
functionThree();
// delay for a duration of 200ms

// run functionFour
functionFour();
// delay for a duration of 1600ms

// repeat from one again!

我知道,setInterval(functionOne, time);可以在特定时间循环functionOne

如何使函数按照上面给出的持续时间顺序运行? 感谢。

1 个答案:

答案 0 :(得分:2)

尝试:

var the_time = 1000;
var funArr = [funcitonOne,funcitonTwo,funcitonThree,funcitonFore];
for (var i=0; i<funArr.length;i++){
  setInterval(funArr[i], the_time*(i+1));
}

<强>更新

持续时间传入函数:

function funcitonOne(time) {
    console.log('funcitonOne', time);
}
function funcitonTwo(time) {
    console.log('funcitonTwo', time);
}
var funArr = [funcitonOne, funcitonTwo];
for (var i = 0; i < funArr.length; i++) {
    var interval = 500 * (i + 1);
    (function (i,interval) {
        setInterval(function(){
            funArr[i].call(this, interval);
        }, interval);
    }(i,interval));
}