超实用的JavaScript代码段 Item4 --发送短信验证码

发送短信验证码

实现点击“发送验证码”按钮后,按钮依次显示为“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;
truefalse不能加引号!truefalse不能加引号!truefalse不能加引号!否则值永远为真。 
也可用send.setAttribute('disabled','disabled');
或send.removeAttribute('disabled');

这里写图片描述

版权声明:本文为小平果原创文章,转载请注明:http://blog.csdn.net/i10630226

原文地址:https://www.cnblogs.com/dingxiaoyue/p/4948180.html