本文首先分析手機發送驗證碼的原理,再對javascript發送簡訊驗證碼予以實現,具體思路如下:
實現點選「傳送驗證碼」按鈕後,按鈕依序顯示為「59秒後重試」、「58秒後重試」…直到倒數計時至0秒再恢復顯示為「傳送驗證碼」。在倒數計時期間按鈕為停用狀態 .
第一步、取得按鈕、綁定事件、設定計時器變數和計時變數
第二步、添加定時器,每隔1秒鐘計時減1,直到計時小於等於0 時清除定時器,按鈕恢復為「發送驗證碼”,否則顯示為“X秒後重試”
效果圖:
實作程式碼:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> window.onload=function(){ var send=document.getElementById('send'), times=60, timer=null; send.onclick=function(){ // 计时开始 var that = this; this.disabled=true; timer = setInterval(function(){ times --; that.value = times + "秒后重试"; if(times <= 0){ that.disabled =false; that.value = "发送验证码"; clearInterval(timer); times = 60; } //console.log(times); },1000); } } </script> </head> <body> <input type="button" id="send" value="发送验证码"> </body> </html>
注意點:
設定按鈕是否為停用時,send.disabled=true; send.disabled=false;
true和false不能加引號!true和false不能加引號!true和false不能加引號!否則值永遠為真。
也可用send.setAttribute('disabled','disabled');
或send.removeAttribute('disabled');
以上就是為大家分享的javascript發送簡訊驗證碼全部程式碼,希望對大家的學習有所幫助。