zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    Sql之表的连接总结
    sql之独立子查询和相关子查询总结
    canvas 绘点图
    gulp插件
    jquery插件开发模板
    js中substring和substr的用法比较
    phpStudy 2016 更新下载,新版支持php7.0
    phpStudy for Linux (lnmp+lamp一键安装包)
    用 Function.apply() 的参数数组化来提高 JavaScript程序性能
    Js apply() call()使用详解
  • 原文地址:https://www.cnblogs.com/shihaiying/p/13683410.html
Copyright © 2011-2022 走看看