利用原生Js方法实现发送验证码倒计时

查看演示效果

主要是利用window.setInterval(countTime, 1000); 方法 ,该方法是每隔一定时间,执行一次某方法.

第一个参数是要执行的方法名称, 不带小括号() ,第二个参数是毫秒为单位的执行间隔时间. 1000毫秒 = 1秒

<!DOCTYPE html>
<html>
    <body style="color:white">
        填写手机号:
        <input id="code" type="text">
        <button type="button" id="btn" onclick="sendCode()" >发送验证码</button>
        <script>
            var count; // 计数变量
            var timer; // 计时器变量,用于停止重复执行方法
            function sendCode(){
                count = 10 ; // 每次发送验证码 , 设定倒计时10秒
                document.getElementById("code").disabled = true; // 禁用输入框
                document.getElementById("btn").disabled = true; // 禁用按钮
                timer = window.setInterval(countTime, 1000); // 设定每隔一秒执行一次计时
            }

            function countTime(){
                count = count - 1; // 每次倒计时减1秒
                if(count>0){ // 大于0则继续执行
                    document.getElementById("btn").innerHTML = count+"秒后重新发送" ;
                }
                else{ // 计时到0则停止
                    window.clearInterval(timer); // 清除重复操作
                    document.getElementById("btn").innerHTML = "发送验证码";
                    document.getElementById("code").disabled = false;
                    document.getElementById("btn").disabled = false;
                }
            }
        </script>
    </body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值