現(xiàn)在有個問題就如題所示,我想有一個登入頁面,但是是基於遙控器的。綁定手機(jī)時需要向手機(jī)發(fā)送驗證碼,隨後按鈕的label就要隨著時間減少 60s 50s ... 0s 等 在計秒的過程中,我可能還會上下左右操作。
問題是這樣,稍微了解了下 js 是單線程運行 我計秒這個 動作 和我計秒的同時進(jìn)行上下左右切換焦點並行,在我理解是2個線程操作。所以 小弟不得其解,怎麼去實現(xiàn)呢?求高人指點。
開一 setInterval 跑完60秒自動解除button的disabled
跑的過程中時間累減
例如
//偽代碼、思路是這樣
var i = 60;
var interval;
interval = setInterval(function(){
document.getElementById("testBtn").innerHTML(i+'s')
i = i-1
if(i<=0){
clearInterval(interval)
//解除你的btn不可點擊
}
},1000)
定時器是非同步執(zhí)行的,定時是由另一個工作執(zhí)行緒來完成的,對主執(zhí)行緒不會有影響。當(dāng)定時器時間到達(dá)後,會把要執(zhí)行的回呼函數(shù)放到任務(wù)佇列裡,並由主執(zhí)行緒來呼叫回呼函數(shù)。
所以在主執(zhí)行緒上的操作不會影響定時器。