Javascript 使用setInterval时如何动态更改间隔
我有把小提琴: Im目前正在使用JavascriptsJavascript 使用setInterval时如何动态更改间隔,javascript,jquery,setinterval,Javascript,Jquery,Setinterval,我有把小提琴: Im目前正在使用JavascriptssetInterval()将字符串记录到控制台 我想做的是,在这个setInterval函数中,检查interval变量是否已更改,如果已更改,请在setInterval函数中更改interval。我可以通过单击按钮将间隔变量降低100(加速函数) 这可能吗 有人提到: 但这是一个计数器,所以他们只运行了一定的次数。我需要运行它多长时间,但要改变函数再次被调用的速度 代码如下: var区间=2000; setInterval(函数(){ i
setInterval()
将字符串记录到控制台
我想做的是,在这个setInterval函数中,检查interval变量是否已更改,如果已更改,请在setInterval函数中更改interval。我可以通过单击按钮将间隔变量降低100(加速函数)
这可能吗
有人提到:
但这是一个计数器,所以他们只运行了一定的次数。我需要运行它多长时间,但要改变函数再次被调用的速度
代码如下:
var区间=2000;
setInterval(函数(){
interval=getInterval();
console.log('interval'))
},间隔);
函数getInterval(){
返回间隔;
}
$(“#加速”)。在('click',function()上{
区间-=100;
控制台日志(间隔)
})
加快
我会停止这个间隔,然后用不同的时间开始一个新的间隔
var区间=2000;
var有效期;
//存储在函数中,以便我们可以再次调用它
功能开始时间间隔(_间隔){
//存储间隔的id,以便稍后清除
intervalId=setInterval(函数(){
控制台日志(_间隔);
}(u间期),;
}
函数getInterval(){
返回间隔;
}
$(“#加速”)。在('click',function()上{
区间-=100;
//清除现有间隔
clearInterval(intervalId);
//开始一个新的
startInterval(间隔);
控制台日志(间隔)
})
加快
可能重复卓越的答案,我提到的答案中有一个与此类似,但这个答案非常完美。谢谢,是的,链接的是关于间隔的一致性更改,尽管您的案例要求动态更改。您可以设置预设的“计时”,让用户选择:例如“快走!”乌龟慢点正是我需要它的原因;)再次感谢/slow/问题,点击按钮会停止当前的运行间隔并开始新的运行间隔。最终的效果是,如果你有一个预定的时间间隔,它会被跳过。另一方面,如果在达到“加速”时强制代码运行,则可能会根据检查的内容而导致代码加倍,这可能是个问题,也可能不是问题。