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

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

    <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 17:28:20

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

http://img1.sycdn.imooc.com//climg/607bfba309d4925904560104.jpg

祝学习愉快~

  • 提问者 TheRoo #1

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

    2021-04-18 19:13:35
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师