Javascript增加一个值和增加它的速度

时间:2016-06-19 11:35:26

标签: javascript html time settimeout setinterval

我需要增加一个数字,然后使用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;}

1 个答案:

答案 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);

我希望这对你有所帮助,祝你好运!