定时器清除不了的问题


最近我遇到了一个问题:

点击btn就增加一个定时器,点击btn1就clear定时器。

但是我发现当多次点击btn增加定时器后,虽然timer 变量也在外面,那么btn1根本清除不了,虽然我打印出来的timer也是最后一个。

 1 <body>
 2     <button id="btn">aa</button>
 3     <button id="btn1">cancel</button>
 4     <script>
 5         var timer;  //虽然timer在外面
 6         btn.onclick = function () { //点击后增加一个定时器
 7             timer = setInterval(function () {
 8                 console.log(timer) //我连续点击多次btn后,每次都打印最后一个定时器
 9             }, 500)
10         }
11         btn1.onclick = function () {
12             console.log("timer" + timer)//虽然这里显示的是最后一个定时器,
13             clearInterval(timer)        //但是无法清理掉最后一个定时器。点击很多次也不行。
14         }
15     </script>
16 </body>

 

于是,我在每次开启定时器的时候都clearInteval(timer)就解决了这个问题:

可能是定时器很多导致了定时器混乱???我不知道

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM