Javascript clearInterval不';不要停止间歇
我有一个if语句,它检查c变量是否达到100,然后调用clearInterval,但代码一直在运行。如果在计时器函数中移动C++,则C保持0。 我这里有一支密码笔Javascript clearInterval不';不要停止间歇,javascript,setinterval,Javascript,Setinterval,我有一个if语句,它检查c变量是否达到100,然后调用clearInterval,但代码一直在运行。如果在计时器函数中移动C++,则C保持0。 我这里有一支密码笔 您的问题是因为您正在检查间隔之外的c变量 var c=0; var elem=document.getElementById(“计数器”); elem.innerHTML=“1”; window.onload=计时器; var-myInterval; 函数计时器(){ myInterval=setInterval(计数,50) }
您的问题是因为您正在检查间隔之外的
c
变量
var c=0;
var elem=document.getElementById(“计数器”);
elem.innerHTML=“1”;
window.onload=计时器;
var-myInterval;
函数计时器(){
myInterval=setInterval(计数,50)
}
函数计数(){
C++;
elem.innerHTML=c;
控制台日志(c)
如果(c==100){
清除间隔(myInterval)
}
}
你好
myInterval是函数时间的本地值。使之全球化。清除计数()内的间隔:
var c=0;
var myInterval
var elem=document.getElementById(“计数器”);
elem.innerHTML=“1”;
window.onload=计时器;
函数计时器(){
myInterval=setInterval(计数,50)
}
函数计数(){
C++;
elem.innerHTML=c;
如果(c==50){
清除间隔(myInterval)
}
}
myInterval
是本地的,而且,timer
只运行一次,而且c
在第一次运行时肯定没有达到100
var c=0;
var elem=document.getElementById("counter");
elem.innerHTML="1";
window.onload = timer;
function timer(){
var myInterval = setInterval(count,50)
if (c==100) {
clearInterval(myInterval)
}
}
function count(){
c++;
elem.innerHTML=c;
console.log(c)
}