JS 实现发送验证码效果

代码

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        button {
            height: 50px;
            font-size: 18px;
            line-height: 50px;
            color: #fff;
            background: red;
        }
    </style>
</head>
<body>
    <button>发送验证码</button>
    <script>
        //1.获取元素
        var btn = document.getElementsByTagName("button")[0];
        //4.声明一个状态变量  记录按钮的状态
        var flag = "active";
        
        //2.添加点击事件
        btn.onclick = function(){
            //将倒计时的变量 声明在点击事件中  这样每次点击之后 就可以将变量的值重置
            var n = 10;
            //3.按钮存在两种状态  激活态  禁用态
            //如果是激活态
            if(flag == "active"){
                //让按钮 背景变灰, 内容换成 已发送(ns后重新发送)
                btn.style.background = "gray";
                btn.innerHTML = "已发送("+n+"s后重新发送)";
                //修改状态
                flag = "disabled";
                //设置间歇定时器 进行倒计时
                var timer = setInterval(function(){
                    n--;
                    if(n<0){
                        clearInterval(timer);
                        //将 内容 重新改回 发送验证码
                        btn.innerHTML = "发送验证码";
                        btn.style.cssText = "";//干掉行内样式 重新使用 非行内样式
                        //改回来 状态
                        flag = "active";
                        //阻断函数的执行
                        return false;
                    }
                    btn.innerHTML = "已发送("+n+"s后重新发送)";
                },1000) 
            }
            else{//如果是禁用态
                return false;
            }
        }
    </script>
</body>
</html>
复制代码

 

posted @   石海莹  阅读(563)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
历史上的今天:
2019-09-17 SEO搜索引擎优化是什么?
点击右上角即可分享
微信分享提示