2

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

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

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

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

谢谢。

4

3 回答 3

4

使用函数式编程:

var makeIntervals = function(timeList,callback){
 intervals = []
 for(i = 0; i< timeList.length ; i++ ){
  intervals.push(setTimeout(callback,timeList[i]))
 }
 return intervals
}
于 2012-11-09T00:20:36.013 回答
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 );
于 2012-11-09T00:20:50.053 回答
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/

于 2012-11-09T00:19:16.013 回答