第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用 js 寫的計時器,暫停計時無法生效

用 js 寫的計時器,暫停計時無法生效

翻閱古今 2019-03-12 17:08:32
是用setInterval每10ms調(diào)用一次倒計時方法,想讓計時器在倒計時的時候點擊停止能暫停,再點能繼續(xù)                var FnSec=function(){                    sec.innerHTML-=1;                    if(sec.innerHTML<0){                        sec.innerHTML="100";                        time.innerHTML-=1;                    }                    if(time.innerHTML.length<2){                        time.innerHTML="0"+time.innerHTML;                    }                    if(sec.innerHTML.length<2){                        sec.innerHTML="0"+sec.innerHTML;                    }                    if (sec.innerHTML==0 && time.innerHTML==0) {                        clearInterval(secInterValId);                        var audio = document.getElementById("bgMusic");                        audio.play();                        window.alert("時間到!");                        audio.pause();                        start.innerHTML="開始";                        inputDisable.style.display="none";                        input.style.display="block";                        resetDisable.style.display="block";                        reset.style.display="none";                        time.innerHTML="10";                        sec.innerHTML="00";                    }                }                var secInterValId=setInterval(FnSec,10);                start.innerHTML="停止";剛學前端,今天剛學了間歇調(diào)用,小白搗鼓了一晚上都不行,沒轍了,求大神幫忙看一下??!
查看完整描述

2 回答

?
喵喵時光機

TA貢獻1846條經(jīng)驗 獲得超7個贊

secInterValId 改成全局變量,使得可以保存上一次的 setInterval 值。否則每次點擊同一個按鈕 secInterValId 都將被重置


以下偽代碼僅供參考


(function () {

  var secInterValId = null


  startBtn.addEventListener('click', () => {

    secInterValId = setInterval(fn, 10)

  })


  pauseBtn.addEventListener('click', () => {

    clearIntervalId(secInterValId)

  })

}())


查看完整回答
反對 回復 2019-03-17
?
交互式愛情

TA貢獻1712條經(jīng)驗 獲得超3個贊

我給個另外的思路,直接加個狀態(tài)變量進行控制就行了,比如說:


var paused = false,

    timer = null;

function loop(){

    timer = setTimeout(loop,10);

    if(paused) return false;

    //這里主代碼

}


//當你需要暫停的時候,改變paused的值就行了,這當你在一個計時器下,需要分開管理不同功能的狀態(tài)的時候很有用。如果確實需要銷毀計時器,再clear(timer)變量就行


查看完整回答
反對 回復 2019-03-17
  • 2 回答
  • 0 關注
  • 1372 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號