文章詳情頁
javascript - 原生JS實現發送驗證碼計秒
瀏覽:143日期:2023-03-28 11:50:01
問題描述
現在有個問題就如題所示,我想有一個登錄頁面,但是是基于遙控器的。綁定手機時需要向手機發送驗證碼,隨后按鈕的label就要隨著時間減少 60s 50s ... 0s 等 在計秒的過程中,我可能還會上下左右操作。
問題是這樣,稍微了解了下 js 是單線程運行 我計秒這個 動作 和我計秒的同時進行上下左右切換焦點并行,在我理解是2個線程操作。所以 小弟不得其解,怎么去實現呢? 求高人指點。
問題解答
回答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:
定時器是異步執行的,定時是由另一個工作線程來完成的,對主線程不會有影響。當定時器時間到達后,會把要執行的回調函數放到任務隊列里,并由主線程來調用回調函數。
所以在主線程上的操作不會影響定時器。
回答3:不用關心線程問題 setInterval可以
標簽:
JavaScript
相關文章:
1. 數組按鍵值封裝!2. java - web項目中,用戶登陸信息存儲在session中好 還是cookie中好,取決于什么?3. angular.js - webpack build后的angularjs路由跳轉問題4. Mysql取下一條記錄5. mysql - 查詢字段做了索引為什么不起效,還有查詢一個月的時候數據都是全部出來的,如果分拆3次的話就沒問題,為什么呢。6. mysql - 大部分數據沒有行溢出的text字段是否需要拆表7. 老師,怎么不講一次性添加多個數據8. python - linux 下用wsgifunc 運行web.py該如何修改代碼9. pdo - mysql 簡單注入疑問10. 表格對其 只涉及到對其,沒有涉及到大小,長寬還有背景色類的嗎
排行榜
