Javascript 如何在使用闭包时设置clearInterval()
如何使用单击按钮停止此操作Javascript 如何在使用闭包时设置clearInterval(),javascript,Javascript,如何使用单击按钮停止此操作 function MakeCounter(){ var count = 0; setInterval (countIt, 1000) function countIt(){ count++; document.getElementById('demo').innerHTML = count; // result div } } MakeCounter(); 为set
function MakeCounter(){
var count = 0;
setInterval (countIt, 1000)
function countIt(){
count++;
document.getElementById('demo').innerHTML = count; // result div
}
}
MakeCounter();
为
setInterval
声明一些Global
变量,然后单击clearInterval(开始)
演示片段:
var启动;
函数MakeCounter(){
var计数=0;
开始=设置间隔(计数,1000)
函数countIt(){
计数++;
document.getElementById('demo').innerHTML=count;//结果div
}
}
MakeCounter()代码>
停止为setInterval
声明一些Global
变量,然后单击clearInterval(开始)
演示片段:
var启动;
函数MakeCounter(){
var计数=0;
开始=设置间隔(计数,1000)
函数countIt(){
计数++;
document.getElementById('demo').innerHTML=count;//结果div
}
}
MakeCounter()代码>
stop
您可以在函数内部创建按钮,并添加用于停止间隔的evelt侦听器
函数MakeCounter(){
函数countIt(){
计数++;
document.getElementById('demo').innerHTML=count;
}
变量计数=0,
间隔=设置间隔(计数,1000),
button=document.createElement('button');
appendChild(document.createTextNode('stop'));
button.id='stop';
document.body.appendChild(按钮);
document.getElementById('stop')。addEventListener('click',函数(){
间隔时间;
},假);
}
MakeCounter()代码>
0
您可以在函数内部创建按钮,并添加一个用于停止间隔的evelt侦听器
函数MakeCounter(){
函数countIt(){
计数++;
document.getElementById('demo').innerHTML=count;
}
变量计数=0,
间隔=设置间隔(计数,1000),
button=document.createElement('button');
appendChild(document.createTextNode('stop'));
button.id='stop';
document.body.appendChild(按钮);
document.getElementById('stop')。addEventListener('click',函数(){
间隔时间;
},假);
}
MakeCounter()代码>
0
如果没有存储返回值var myInterval=setInterval(…)
则不能停止(清除)它,然后再存储clearInterval(myInterval)
如果没有存储返回值var myInterval=setInterval(…)
则不能停止(清除)它,然后再存储clearInterval(myInterval)
则不能停止(清除)它
设置间隔(myTimer,1000)代码>设置间隔(myTimer,1000)
我认为在调用clearInterval
之前,我们还应该检查start
是否未定义。@MohitBhardwaj它已经在document ready上定义了。那么在调用clearinterval
之前为什么要检查它的undefined
。哦,是的,你是对的。在这种情况下,它确实给出了错误。抱歉。我想在调用clearInterval
之前,我们还应该检查start
是否未定义。@MohitBhardwaj它已经在documentready上定义了。那么在调用clearinterval
之前为什么要检查它的undefined
。哦,是的,你是对的。在这种情况下,它确实给出了错误。很抱歉
var myVar = setInterval(function(){ myTimer() }, 1000);
function myTimer() {
var d = new Date();
var t = d.toLocaleTimeString();
document.getElementById("demo").innerHTML = t;
}
function myStopFunction() {
clearInterval(myVar);
}