對於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()); } } }
下面是我的公眾號,大家可以關注一下,可以一起學習,一起進步: