javascript - 原生JS實現(xiàn)發(fā)送驗證碼計秒
問題描述
現(xiàn)在有個問題就如題所示,我想有一個登錄頁面,但是是基于遙控器的。綁定手機時需要向手機發(fā)送驗證碼,隨后按鈕的label就要隨著時間減少 60s 50s ... 0s 等 在計秒的過程中,我可能還會上下左右操作。
問題是這樣,稍微了解了下 js 是單線程運行 我計秒這個 動作 和我計秒的同時進(jìn)行上下左右切換焦點并行,在我理解是2個線程操作。所以 小弟不得其解,怎么去實現(xiàn)呢? 求高人指點。
問題解答
回答1:開一個 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)回答2:
定時器是異步執(zhí)行的,定時是由另一個工作線程來完成的,對主線程不會有影響。當(dāng)定時器時間到達(dá)后,會把要執(zhí)行的回調(diào)函數(shù)放到任務(wù)隊列里,并由主線程來調(diào)用回調(diào)函數(shù)。
所以在主線程上的操作不會影響定時器。
回答3:不用關(guān)心線程問題 setInterval可以
相關(guān)文章:
1. node.js - nodejs debug問題2. docker-machine添加一個已有的docker主機問題3. golang - 用IDE看docker源碼時的小問題4. docker綁定了nginx端口 外部訪問不到5. docker - 如何修改運行中容器的配置6. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?7. debian - docker依賴的aufs-tools源碼哪里可以找到???8. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個是怎么回事????9. docker網(wǎng)絡(luò)端口映射,沒有方便點的操作方法么?10. docker-compose中volumes的問題
