Javascript 更改onclick的设置间隔

Javascript 更改onclick的设置间隔,javascript,html,Javascript,Html,我正试图用onclick功能更改这两个框的速度(设置间隔)。 到目前为止,我让两个框改变颜色,我将间隔设置为1000(ms),现在我想单击其中一个框,我想让它们改变颜色的速度 setInterval( 函数(){ if(quadraDo==true){ document.getElementById(“demo0”).style.background=“红色” document.getElementById(“demo1”).style.background=“蓝色”; 四边形=假; } el

我正试图用onclick功能更改这两个框的速度(设置间隔)。 到目前为止,我让两个框改变颜色,我将间隔设置为1000(ms),现在我想单击其中一个框,我想让它们改变颜色的速度

setInterval(
函数(){
if(quadraDo==true){
document.getElementById(“demo0”).style.background=“红色”
document.getElementById(“demo1”).style.background=“蓝色”;
四边形=假;
}
else if(quadraDo==false){
document.getElementById(“demo0”).style.background=“蓝色”;
document.getElementById(“demo1”).style.background=“红色”;
quadraDo=真;
}
}, 1000);

一点解释。我已经使用您的代码创建了一个函数
changeColor
,该函数的初始间隔速度为1000ms

然后单击任何方块,清除初始计时器,并以不同的间隔速度启动新的计时器。在这种情况下:

  • 单击第一个方块会减慢初始速度(x0.5)或500毫秒
  • 点击第二个加快初始速度(x2)或2000ms
这样,
myFunction
就可以重复使用,用于设置初始速度并在单击时更改速度。重要的部分是在开始新的间隔之前清除当前间隔

设quadraDo=false;
函数changeColor(){
if(quadraDo==true){
document.getElementById(“demo0”).style.background=“红色”;
document.getElementById(“demo1”).style.background=“蓝色”;
四边形=假;
}else if(quadraDo==false){
document.getElementById(“demo0”).style.background=“蓝色”;
document.getElementById(“demo1”).style.background=“红色”;
quadraDo=真;
}
}
功能myFunction(速度){
清除间隔(计时器);
定时器=设置间隔(改变颜色、速度);
}
让定时器=设置间隔(changeColor,1000)


您必须取消计时器并启动一个新的计时器。无法更改已启动的间隔计时器。这是否回答了您的问题?这回答了你的问题吗?