请问为什么多次点击开始添加了多个计时器,变量名是相同的为什么没有覆盖,那多次点击暂停还是无法把这些计时器删除了呢?
来源:5-1 定时器和延时器(1)
TheRoo
2021-04-18 16:45:55
<h1 id="info">0</h1>
<button id='btn1'>开始</button>
<button id='btn2'>暂停</button>
<script>
var info=document.getElementById('info');
var btn1=document.getElementById('btn1');
var btn2=document.getElementById('btn2');
var a=0;
// 设为全局变量
var timer;
btn1.onclick=function(){
timer=setInterval(function(){
info.innerText=++a;
},1000);
}
btn2.onclick=function(){
clearInterval(timer);
}
2回答
同学你好,是不能的。开启了多个定时器,多点击几次暂停按钮只能关闭一个定时器,之前开启的定时器就关闭不了了,所以解决方式就是在开启定时器之前,先把之前的定时器关闭,在实际工作中也比较常用,同学要记住这个知识点呦。
祝学习愉快~
好帮手慕言
2021-04-18
同学你好,定时器很特别,只要调用一次setInterval就是开启一个定时器,即使把它们赋值给同一个变量,也不会让之前的定时器关闭。第二个按钮点击的时候,只会关闭一个定时器,之前的定时器还是开启状态。建议:开启定时器之前,先关闭定时器,如下:
祝学习愉快~