定時器清除不了的問題


最近我遇到了一個問題:

點擊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