1. 程式人生 > >定時器清除不了的問題

定時器清除不了的問題

最近我遇到了一個問題:

點選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)就解決了這個問題:

可能是定時器很多導致了定時器混亂???我不知道