定時器清除不了的問題
阿新 • • 發佈:2019-01-08
最近我遇到了一個問題:
點選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)就解決了這個問題:
可能是定時器很多導致了定時器混亂???我不知道