下面是一个例子。
var count,
time = 1000;
setInterval(function(){
count += 1;
}, time);上面的代码将将1添加到"count“var,非常1000毫秒。似乎setInterval在触发时将使用它在执行时所看到的时间。如果稍后更新该值,它将不会考虑到这一点,并将在设置的初始时间内继续启动。
如何动态更改此方法的时间?
发布于 2013-09-23 15:42:46
在JavaScript中,整数不是通过引用传递的,这意味着无法通过更改变量来更改间隔。
只需取消setInterval,并重新启动它与新的时间。
在这里可以找到示例:http://jsfiddle.net/Elak/yUxmw/2/
var Interval;
(function () {
var createInterval = function (callback, time) {
return setInterval(callback, time);
}
Interval = function (callback, time) {
this.callback = callback;
this.interval = createInterval(callback, time);
};
Interval.prototype.updateTimer = function (time) {
clearInterval(this.interval);
createInterval(this.callback, time);
};
})();
$(document).ready(function () {
var inter = new Interval(function () {
$("#out").append("<li>" + new Date().toString() + "</li>");
}, 1000);
setTimeout(function () {
inter.updateTimer(500);
}, 2000);
});https://stackoverflow.com/questions/18963377
复制相似问题