用Javascript实现发送短信验证码间隔

用Javascript实现发送短信验证码间隔

正在学习大前端中,有代码和思路不规范不正确的地方往多多包涵,感谢指教


在很多app和网站中,我们登陆或者注册账号,会有一个发送短信验证码的地方1,然而为了防止恶意获取验证码,我们一般都设置了可点击的时间间隔,时间间隔1完了过后,便又可以继续发送,接下来用代码实现

代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
手机号码:<input type="text"><button>发送验证码</button>
<script>
    var btn=document.querySelector('button')
    var time=3
    btn.addEventListener('click',function () {
    
    
        btn.disabled=true
        var timer=setInterval(function () {
    
    
            if (time<0){
    
    
                clearInterval(timer)
                btn.disabled=false
                btn.innerHTML='发送验证码'
                time=3
            }else {
    
    
                btn.innerHTML = '还剩' + time + '秒'
                time -= 1
            }
        },1000)
    })
</script>
</body>
</html>

效果如下

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

代码解释
这里因为我们只改变按钮的样式和功能,所以只获取了按钮,然后设置一个time变量,这是倒计时的时间。然后设置点击事件,当我们点击这个按钮过后让这个按钮的disable变为true,意思是不能够点击。
然后设置定时器,判断如果倒计时小于0,那么清除定时器,倒计时结束,让按钮变为可点击,里面的1文字变为发送验证码,接着重新给倒计时赋值为3.
如果倒计时大于0,把按钮里面的文字改为’还剩’ + time + ‘秒’,time–,每循环一次都判断一次




别喷我,写的不好就劳烦指点一二,觉得有帮助就留下个大拇指点个关注再走哈哈哈!

猜你喜欢

转载自blog.csdn.net/weixin_44029226/article/details/113737599