zoukankan      html  css  js  c++  java
  • 原生 JS 实现手机验证码倒计时

    可以使用 pointer-events 来阻止元素成为鼠标事件的 target。html5 新增操作元素 class 类名的方式 classList。

    classList 方法

    • add(value):在元素中添加一个或多个类名。如果值已经存在,就不添加了。
    • contains(value): 返回布尔值,判断指定的类名是否存在。
    • remove(value):移除元素属性列表中一个或多个类名。注意: 移除不存在的类名,不会报错。
    • toggle(value):在元素中切换类名。如果列表中已经存在给定的值,删除它;如果列表中没有给定的值,添加它

    原生 JS 实现手机验证码倒计时

    单击“发送验证码”后,需等待 10 秒才能再次单击“重发获取”,在此期间,可以使用 pointer-events 来阻止元素成为鼠标事件的目标。源码参考如下。

    <!DOCTYPE html>
    <html>
    
    <head>
        <title> 手机验证码 </title>
        <meta charset="utf-8" />
    </head>
    
    <style>
        a{
            color:red;
        }
        .disable{
            pointer-events:none;
            color:#666;
        }
    </style>
    
    <body>
        <p>
            <input type="text" placeholder="请输入手机号">
        </p>
        <p>
            <input type="text" placeholder="验证码">
            <a href="javascript:;" id="btn">发送验证码</a>
        </p>
    
    
        <script type="text/javascript">
            var oBtn = document.getElementById('btn');
            var flag = true;
    
            oBtn.addEventListener("click", function () {
                var time = 10;
                oBtn.classList.add('disable');
                oBtn.innerText = '已发送';
    
                if (flag) {
                    flag = false;
                    var timer = setInterval(() => {
                        time--;
                        oBtn.innerText = time + ' 秒';
                        if (time === 0) {
                            clearInterval(timer);
                            oBtn.innerText = '重新获取';
                            oBtn.classList.remove('disable');
                            flag = true;
                        }
                    }, 1000)
                }
            });
    
        </script>
    </body>
    
    </html>
    
    
  • 相关阅读:
    openfl使用64位的ndk时,编译报错的问题!
    Haxe是何物?
    jsp中如何判断el表达式中的BigDecimal==0
    如何在springmvc的请求过程中获得地址栏的请求
    【原创】【滑块验证码】
    【原创】【aes加密】
    【原创】【qrcodejs2】生成二维码
    【原创】【ueditor】监听内容
    【原创】【ueditor】内容过多时 菜单控件遮挡页面
    js杂谈
  • 原文地址:https://www.cnblogs.com/cckui/p/9887538.html
Copyright © 2011-2022 走看看