Javascript 停止额外间隔

Javascript 停止额外间隔,javascript,html,Javascript,Html,我读了很多书,但仍然不明白如何阻止这种情况 我的程序很简单。当我按下开始键时,每1秒会出现3个随机数。但是,每当我多次按start时,setInterval()也会运行多次 如何确保每当我再次按start时,只有一个setInterval()正在运行。我试图在setInterval方法之前添加一个clearInterval方法,但没有效果 函数开始(){ document.getElementById(“number1”).disabled=false; document.getElement

我读了很多书,但仍然不明白如何阻止这种情况

我的程序很简单。当我按下开始键时,每1秒会出现3个随机数。但是,每当我多次按start时,setInterval()也会运行多次

如何确保每当我再次按start时,只有一个setInterval()正在运行。我试图在setInterval方法之前添加一个clearInterval方法,但没有效果

函数开始(){
document.getElementById(“number1”).disabled=false;
document.getElementById(“number2”).disabled=false;
document.getElementById(“number3”).disabled=false;
chosennumber=提示(“选择0到9之间的数字”);
scorenum2=0;
如果(/^([1-9])$/.test(chosennumber)==false | | chosennumber.trim()==“”){
警报(“仅输入整数1至9”);
}否则{
document.getElementById(“chosennum”).innerHTML=chosennumber;
document.getElementById(“scorenum”).innerHTML=scorenum2;
间隔=设置间隔(起始时间2,1000);
}
}
函数start2(){
rand=Math.floor(Math.random()*9);
rand2=Math.floor(Math.random()*9);
rand3=Math.floor(Math.random()*9);
document.getElementById(“number1”).innerHTML=rand;
document.getElementById(“number2”).innerHTML=rand2;
document.getElementById(“number3”).innerHTML=rand3;
}
#编号1{
浮动:左;
颜色:红色;
字体大小:200px;
边界:无;
背景色:白色;
}
#2号{
浮动:左;
颜色:橙色;
字体大小:200px;
边界:无;
背景色:白色;
}
#3号{
浮动:左;
颜色:蓝色;
字体大小:200px;
边界:无;
背景色:白色;
}
#乔森纳姆{
颜色:绿色;
}
#斯考纳姆{
颜色:红色;
}



您选择的号码是: 到目前为止你的分数是:
只需输入一个布尔值,以确保只运行一个间隔

var区间=false;
函数start(){
document.getElementById(“number1”).disabled=false;
document.getElementById(“number2”).disabled=false;
document.getElementById(“number3”).disabled=false;
chosennumber=提示(“选择0到9之间的数字”);
scorenum2=0;
如果(/^([1-9])$/.test(chosennumber)==false | | chosennumber.trim()==“”){
警报(“仅输入整数1至9”);
}否则{
document.getElementById(“chosennum”).innerHTML=chosennumber;
document.getElementById(“scorenum”).innerHTML=scorenum2;
如果(间隔===false){
间隔=设置间隔(起始时间2,1000);
}
}
}
函数start2(){
rand=Math.floor(Math.random()*9);
rand2=Math.floor(Math.random()*9);
rand3=Math.floor(Math.random()*9);
document.getElementById(“number1”).innerHTML=rand;
document.getElementById(“number2”).innerHTML=rand2;
document.getElementById(“number3”).innerHTML=rand3;
}
#编号1{
浮动:左;
颜色:红色;
字体大小:200px;
边界:无;
背景色:白色;
}
#2号{
浮动:左;
颜色:橙色;
字体大小:200px;
边界:无;
背景色:白色;
}
#3号{
浮动:左;
颜色:蓝色;
字体大小:200px;
边界:无;
背景色:白色;
}
#乔森纳姆{
颜色:绿色;
}
#斯考纳姆{
颜色:红色;
}



您选择的号码是: 到目前为止你的分数是:
只需输入一个布尔值,以确保只运行一个间隔

var区间=false;
函数start(){
document.getElementById(“number1”).disabled=false;
document.getElementById(“number2”).disabled=false;
document.getElementById(“number3”).disabled=false;
chosennumber=提示(“选择0到9之间的数字”);
scorenum2=0;
如果(/^([1-9])$/.test(chosennumber)==false | | chosennumber.trim()==“”){
警报(“仅输入整数1至9”);
}否则{
document.getElementById(“chosennum”).innerHTML=chosennumber;
document.getElementById(“scorenum”).innerHTML=scorenum2;
如果(间隔===false){
间隔=设置间隔(起始时间2,1000);
}
}
}
函数start2(){
rand=Math.floor(Math.random()*9);
rand2=Math.floor(Math.random()*9);
rand3=Math.floor(Math.random()*9);
document.getElementById(“number1”).innerHTML=rand;
document.getElementById(“number2”).innerHTML=rand2;
document.getElementById(“number3”).innerHTML=rand3;
}
#编号1{
浮动:左;
颜色:红色;
字体大小:200px;
边界:无;
背景色:白色;
}
#2号{
浮动:左;
颜色:橙色;
字体大小:200px;
边界:无;
背景色:白色;
}
#3号{
浮动:左;
颜色:蓝色;
字体大小:200px;
边界:无;
背景色:白色;
}
#乔森纳姆{
颜色:绿色;
}
#斯考纳姆{
颜色:红色;
}



您选择的号码是: 到目前为止你的分数是:
只需跟踪
setInterval
函数返回的
id
,如果id在那里,不要再次调用它

const start=(函数(){
让我看看你的身份证;
函数start(){
document.getElementById(“number1”).disabled=false;
document.getElementById(“number2”).disabled=false;
document.getElementById(“number3”).disabled=false;
chosennumber=提示(“选择0到9之间的数字”);
scorenum2=0;
如果(/^([1-9])$/.test(chosennumber)==false | | chosennumber.trim()==“”){
警报(“仅输入整数1至9”);
}否则{
document.getElementById(“chosennum”).innerHTML=chosennumber;
document.getElementById(“scorenum”).innerHTML=scorenum2;
如果(!id){
id=设定间隔(起始时间2,1000);
}
}
}
函数start2(){
rand=Math.floor(Math.random()*9);
rand2=Math.floor(Math.random()*9);
rand3=Math.floor(Math.random()*9);
document.getElementById(“number1”).innerHTML=rand;
document.getElementById(“number2”).innerHTML=rand2;
document.getElementById(“number3”).innerHTML=rand3;
}
返回启动;
})();
#编号1{
浮动:左;
颜色:红色;
字体大小
clear_inteval = true
if(clear_interval)
{
    interval = setInterval(start2, 1000);
    clear_interval = false
}