網站中為了防止惡意取得驗證簡訊、驗證信箱,都會在點選取得驗證碼的按鈕上做個倒數計時的效果。實作這個功能,一個setInterval和一個clearInterval就能搞定了,不需要太多的程式碼。實例效果和程式碼如下:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <input type="button" style="height:32px;width:120px;" value="点击发送验证码" onclick="sendCode(this)" /> <script type="text/javascript"> var clock = ''; var nums = 10; var btn; function sendCode(thisBtn) { btn = thisBtn; btn.disabled = true; //将按钮置为不可点击 btn.value = nums+'秒后可重新获取'; clock = setInterval(doLoop, 1000); //一秒执行一次 } function doLoop() { nums--; if(nums > 0){ btn.value = nums+'秒后可重新获取'; }else{ clearInterval(clock); //清除js定时器 btn.disabled = false; btn.value = '点击发送验证码'; nums = 10; //重置时间 } } </script>
利用setInterval和clearIntervaljs實現js點擊取得驗證碼倒數計時效果,希望對大家的學習有所幫助。