网站中为了防止恶意获取验证短信、验证邮箱,都会在点击获取验证码的按钮上做个倒计时的效果。实现这个功能,一个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点击获取验证码倒计时效果,希望对大家的学习有所帮助。