JavaScript中定時器的暫停和繼續


 對於JavaScript的定時器來說沒有嚴格意義上的暫停和重啟,只有清除停止,但是可以通過一些‘障眼法’實現

allChild[index].onclick = function(){//當點擊目標且滿足下面的條件時 讓計時器時間暫停
                 if(gamInt == true){
                             $("#tu").css("display","block");
                             //計時器暫停(清除定時器)
                             clearInterval(countdownTimer);
                             
                             //延遲2s后游戲繼續 計時器暫停結束
                             setTimeout(function(){
                                         // 移除所有的圖片
                                         removeImgFun();
                                         $("#tu").css("display","none");
                                         imgNum++;
                                         if(imgNum >= 10){
                                             imgNum = 10;
                                         }
                                         createImgFun();


                                         //定時器繼續接之前的時間增加 繼續播放(將之前的定時器重新引用一次 包括定時器的名字(必須要有 不然容易引起電腦死機)完整引入)
                                         countdownTimer = setInterval(function (){
                                            countdownNum -= 0.01;
                                            //保留兩位小數
                                            countdownNum = countdownNum.toFixed(2);
                                            if (countdownNum <= 0){
                                                
                                                clearInterval(countdownTimer);
                                                //游戲結束
                                                alert("游戲結束!");
                                                //房祖名不能再點擊(分數不再計數)
                                                gamInt = false;
                                                
                                            }
                                            time.innerHTML = "倒計時:" + countdownNum + "秒";
                                        },10);
                             },2000)
                             
                         
                             //計分
                             scores += 1;
                             score.innerHTML = "第" + scores + "關";
                             if(scores > 8){
                                 $("#wc").css("display","block");
                                 $("#haha").css("display","none");
                                 $("#cj").on("click",award());
                                 $("#sm").on("click",explain());
                             }
                     }
             }

 

下面是我的公眾號,大家可以關注一下,可以一起學習,一起進步:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM