首页 > 其他分享 >节流方式实现,发送验证码

节流方式实现,发送验证码

时间:2024-03-01 19:45:21浏览次数:24  
标签:function cursor style target 验证码 timer 发送 节流

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title></title>
    <style lang="">
        #btn {
            width: 180px;
            height: 30px;
            border: 2px solid coral;
            text-align: center;
            line-height: 30px;
            cursor: pointer;
            user-select: none;
        }
    </style>
</head>

<body>
    <div id="btn">获取验证码</div>
</body>
<script>
    function submit(e) {
        let t = 10;
        let timer;
        e.target.innerText = t;
        e.target.style.cursor = 'not-allowed';
        e.target.style.color = 'red';
        e.target.style.backgroundColor = '#ccc';

        timer = setInterval(() => {
            e.target.innerText = --t;
            if (t === 0) {
                clearInterval(timer)
                e.target.style.cursor = 'pointer';
                e.target.innerText = '获取验证码';
                e.target.style.color = '#000';
                e.target.style.backgroundColor = '#fff';
            }
        }, 1000)

    }
    function throttle1(fn, wait) {
        let timer = null;
        return function () {
            if (!timer) {  //当定时器有值的时候,不执行
                fn.apply(this, arguments);  //点击立即执行
                timer = setTimeout(() => {
                    timer = null;
                }, wait)
            }
        }
    }
    btn.addEventListener('click', throttle1(submit, 10000))



</script>

</html>

标签:function,cursor,style,target,验证码,timer,发送,节流
From: https://www.cnblogs.com/StevenYF/p/18047784

相关文章

  • 旋转拖动验证码解决方案
    前因曾几何时,你是否被一个旋转验证码而困扰,没错今日主题——旋转验证码。 之前也是被他伤透了心,研究了好几天的js,想直接通过接口传输直接解决验证码的,然而我失败了,不过这一次,他来了他来了,他带着RotNet走来了。彩虹屁RotNet也是我无意间发现的,没错时隔了好几个月,他自己出现在......
  • ems案例第一阶段 验证码生成
    验证码生成步骤:controller代码packagecom.baizhi.controller;importcom.baizhi.utils.VerifyCodeUtils;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importjavax.servlet.ServletOutputStrea......
  • python随机3分钟发送一次消息
    需求:有一个实时任务,想要间隔3分钟发送,最近的一次消息。代码:#间隔3分钟发送importrandomimporttimeinit_time=time.time()#初始值status="start"whileTrue:#生成一个随机数random_number=random.randint(1,100)print("开始生成随机数:",......
  • 配置Gitlab支持SMTP发送邮件
    不配置SMTP都无法工作了目前的版本Gitlab16.9.0,管理员在创建用户的时候,管理员无法给用户指定初始密码。初始密码只能以邮件的形式,发送到用户的邮箱。因此有了此篇博文,为我们的Gitlab服务器做好正确的SMTP配置。找到Gitlab的config文件夹如果您的Gitlab,是根据我们的文章安装......
  • python 发送grafana dashboard 面板内容截图到飞书群
    需求每天定时发送grafanadashboard截图至飞书群,每天获取前一天的算力服务器使用率趋势图环境docker环境#搭建docker环境、配置grafana#catdocker-compose.yamlversion:'3.5'services:grafana:image:grafana/grafana:latestrestart:alwaysports:-......
  • 云服务器发送邮件失败问题
    出现问题下面代码为使用golang给用户发送邮件功能:packagemainimport( "fmt" "gopkg.in/gomail.v2")funcmain(){ subject:="邮件标题" sendUserEmail:=[]string{"[email protected]","[email protected]"} text:="邮件内容" f......
  • laravel 发送email 七牛附件
    useIlluminate\Support\Facades\Mail;useQiniu\Auth;privatestaticfunctionsendPdfEmailAnnex($path,$user){$auth=newAuth(env('QINIU_ACCESS_KEY'),env('QINIU_SECRET_KEY'));$expiry=3600;//有效期,单位:秒......
  • c#发送邮件的简单封装类
    1publicclassEmailSender2{3privatestringsmtpServer;4privateintsmtpPort;5privatestringsenderEmail;6privatestringsenderPassword;7privatestringsubjectPrefix;8privatestringemailContex......
  • 【微信/企业微信】批量发送消息
    一、背景公司运营需求,会经常给一些用户发送具有针对性的消息,用来提高用户黏性。之前每次发送都是人工处理,编辑信息,然后一个一个的手动复制粘贴发送,整个过程枯燥无味,浪费了大量的时间精力。一次偶然机会发现有现成的RPA工具,专门用来处理这种重复且规律的工作。自己下了一个,花了半......
  • PHPMailer发送邮件报SMTP Error: Could not authenticate.SMTP server error: QUIT co
    在使用PHPMailer开发发送邮件功能时报错SMTPError:Couldnotauthenticate.SMTPservererror:QUITcommandfailed起初这个授权码以为是邮箱登陆密码,填了qq密码验证不通过 以下qq邮箱为例配置授权码下面按步骤操作就可以开通,得到一个授权码  ......