请问为什么多次点击开始添加了多个计时器,变量名是相同的为什么没有覆盖,那多次点击暂停还是无法把这些计时器删除了呢?

来源: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-19

同学你好,是不能的。开启了多个定时器,多点击几次暂停按钮只能关闭一个定时器,之前开启的定时器就关闭不了了,所以解决方式就是在开启定时器之前,先把之前的定时器关闭,在实际工作中也比较常用,同学要记住这个知识点呦。

祝学习愉快~

0

好帮手慕言

2021-04-18

同学你好,定时器很特别,只要调用一次setInterval就是开启一个定时器,即使把它们赋值给同一个变量,也不会让之前的定时器关闭。第二个按钮点击的时候,只会关闭一个定时器,之前的定时器还是开启状态。建议:开启定时器之前,先关闭定时器,如下:

http://img.mukewang.com/climg/607bfba309d4925904560104.jpg

祝学习愉快~

0
hheRoo
hp>谢谢老师   比如我 点开始 多点了两次  就有三个定时器   那点击暂停点三下就可以把之前开启的三个定时器都关闭了吗?

h021-04-18
共1条回复

0 学习 · 15276 问题

查看课程