用于调度方法的JQuery / JavaScript机制

时间:2012-11-09 00:15:22

标签: javascript jquery

我希望能够在特定时间调用特定方法。例如。

  • 10秒后
  • 20秒后
  • 35秒后
  • 50秒后
  • 60秒后
  • 65秒后

所有时间都来自同一个起点。我正在查看JQuery Timer模块,但我认为这不会给我。

在JavaScript / Jquery中执行此操作的好方法是什么?或任何可从CDN获得的插件。

感谢。

3 个答案:

答案 0 :(得分:4)

使用函数式编程:

var makeIntervals = function(timeList,callback){
 intervals = []
 for(i = 0; i< timeList.length ; i++ ){
  intervals.push(setTimeout(callback,timeList[i]))
 }
 return intervals
}

答案 1 :(得分:3)

此代码将为您建议的所有时间启动计时器。

function funcToCall()
{
}

setTimeout(funcToCall, 10 * 1000 );
setTimeout(funcToCall, 20 * 1000 );
setTimeout(funcToCall, 35 * 1000 );
setTimeout(funcToCall, 50 * 1000 );
setTimeout(funcToCall, 60 * 1000 );
setTimeout(funcToCall, 65 * 1000 );

答案 2 :(得分:2)

您可以使用setTimeout(),并在数组中定义所需的时间间隔:

var method = function() { 
        console.log('did something'); 
    },
    intervals = [10, 20, 35, 50, 60, 65],
    i;

for (i = intervals.length - 1; i >= 0; i--) {
    setTimeout(method, intervals[i] * 1000);
}

演示:http://jsfiddle.net/kelervin/Lg8P3/