Javascript 使用js制作了一个colorcyle并希望终止它';单击“停止”按钮时的执行

Javascript 使用js制作了一个colorcyle并希望终止它';单击“停止”按钮时的执行,javascript,Javascript,这是我的密码 var-stop=document.querySelector('#stop'); var begin=document.querySelector(“#start”); 函数彩虹(){ 变量颜色=[“红色”、“橙色”、“蓝色”、“绿色”、“黄色”、“紫色”]; var i=0; setInterval(函数(){ document.body.style.backgroundColor=颜色[i]; i++; i=i%colors.length; }, 1000); } begi

这是我的密码

var-stop=document.querySelector('#stop');
var begin=document.querySelector(“#start”);
函数彩虹(){
变量颜色=[“红色”、“橙色”、“蓝色”、“绿色”、“黄色”、“紫色”];
var i=0;
setInterval(函数(){
document.body.style.backgroundColor=颜色[i];
i++;
i=i%colors.length;
}, 1000);
}
begin.addEventListener('click',function(){
彩虹()
});
函数noColor(){
document.body.style.backgroundColor='白色';
}
stop.addEventListener('click',function(){
noColor()
});

作业
开始
停止

发生这种情况是因为间隔一直在运行。你应该清除它

使用
clearInterval
并将要取消的间隔传递给它

var-stop=document.querySelector('#stop');
var begin=document.querySelector(“#start”);
让间隔;
函数彩虹(){
变量颜色=[“红色”、“橙色”、“蓝色”、“绿色”、“黄色”、“紫色”];
var i=0;
间隔=设置间隔(函数(){
document.body.style.backgroundColor=颜色[i];
i++;
i=i%colors.length;
}, 1000);
}
begin.addEventListener('click',function(){
彩虹()
});
函数noColor(){
document.body.style.backgroundColor='白色';
间隔时间;
}
stop.addEventListener('click',function(){
noColor()
});

作业
开始
停止