我需要增加一个数字,然后使用setInterval(Function, time)
所以我把一个变量用于时间:time = 1000
现在我需要更改它,所以当我点击一个按钮时我放了一个改变它的函数:
function changetime() {time = time - 100;}
但似乎在工作时你无法改变setInterval
的时间......
我怎样才能做到这一点?
我尝试使用setTimeout
,但数字现在改变了“跳跃”。不定期......
我不确定,但是当我更改setTimeout
时间时,似乎“跳转”会发生变化...就像超时现在是setInterval
时间一样。
原始代码---_>
var time = 1000;
function interval() { setInterval(Function, time);}
function changetime() {setTimeout(interval, 10);tempo = tempo - 200;}
答案 0 :(得分:1)
前段时间我遇到了同样的问题,我做了一个小功能,可以做到这一点: https://github.com/Atticweb/smart-interval/blob/master/smart-interval.js
它的工作原理如下:
var timer = new timer();
timer.start(function(){
//more magic here
}, 3000, true);
//change the interval
timer.set_interval(4000);
我希望这对你有所帮助,祝你好运!