Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用setInterval时如何动态更改间隔_Javascript_Jquery_Setinterval - Fatal编程技术网

Javascript 使用setInterval时如何动态更改间隔

Javascript 使用setInterval时如何动态更改间隔,javascript,jquery,setinterval,Javascript,Jquery,Setinterval,我有把小提琴: Im目前正在使用JavascriptssetInterval()将字符串记录到控制台 我想做的是,在这个setInterval函数中,检查interval变量是否已更改,如果已更改,请在setInterval函数中更改interval。我可以通过单击按钮将间隔变量降低100(加速函数) 这可能吗 有人提到: 但这是一个计数器,所以他们只运行了一定的次数。我需要运行它多长时间,但要改变函数再次被调用的速度 代码如下: var区间=2000; setInterval(函数(){ i

我有把小提琴:

Im目前正在使用Javascripts
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/问题,点击按钮会停止当前的运行间隔并开始新的运行间隔。最终的效果是,如果你有一个预定的时间间隔,它会被跳过。另一方面,如果在达到“加速”时强制代码运行,则可能会根据检查的内容而导致代码加倍,这可能是个问题,也可能不是问题。