js实现5秒倒计时重新发送短信功能

发布时间 - 2026-01-10 22:52:20    点击率:

本文实例讲述了js实现倒计时重新发送短信验证码功能的方法。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>js-手机发送短信倒计时</title>
 <style>
  button{
   width: 100px;
   height: 30px;
   border: none;
  }
  input{
   outline: none;
  }
 </style>
 <script> 
  window.onload = function(){
   function $(id){ return document.getElementById(id); } 
   $('btn').onclick = function(){
    clearInterval(timer); //清除计时器 
    var that = this;
    that.disabled = true;
    var count = 5;
    var timer = setInterval(function(){
     if(count>0){
      count--;
      that.innerHTML = "剩余时间"+ count +"s";
     }else{
      that.innerHTML ="重新发送短信";
      that.disabled = false;
      clearInterval(timer); //清除计时器
     }
    },1000);
   }
  }
 </script>
</head>
<body>
 <div class="box">
  <input type="text" id="txt">
  <button id="btn" >点击发送短信</button>
 </div>
</body>
</html> 

或者使用setTimeout来模拟,一般情况下,还是推荐使用setTimeout,更安全一些。当使用setInterval(fn,1000)时,程序是间隔1s执行一次,但是每次程序执行是需要3s,那么就要等程序执行完才能执行下一次,即实际间隔时间为(间隔时间和程序执行时间两者的最大值)。而setTimeout(fn,1000),代表的是,延迟1s再执行程序,且仅执行一次。每次程序执行是需要3s,所以实际时间为 1s+3s=4s。可以使用setTimeout递归调用来模拟setInterval。

<script> 
  window.onload = function(){
   function $(id){ return document.getElementById(id); } 
   $('btn').onclick = function(){
    var that = this;
    that.disabled = true;
    var count = 5;
    var timer = setTimeout(fn,1000);
    function fn(){
     count--;
     if(count>0){
      that.innerHTML = "剩余时间"+ count +"s";
      setTimeout(fn,1000); 
     }else{
      that.innerHTML ="重新发送短信";
      that.disabled = false; 
     }
    }
   }
  }
 </script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js重新发送短信  # js倒计时重新发送短信  # js倒计时发送短信  # js发送短信  # JavaScript实现短信倒计时60s  # JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)  # JS获取短信验证码倒计时的实现代码  # js实现短信发送倒计时功能(正则验证)  # JS实现用户注册时获取短信验证码和倒计时功能  # JS短信验证码倒计时功能的实现(没有验证码  # 只有倒计时)  # js发送短信倒计时的简单实现方法  # 基于JS实现发送短信验证码后的倒计时功能(无视页面刷新  # 页面关闭不进行倒计时功能)  # 基于JavaScript实现手机短信按钮倒计时(超简单)  # javascript实现发送短信倒计时  # 计时器  # 时间为  # 递归  # 发送短信  # 倒计时  # 的是  # 推荐使用  # 执行时间  # 给大家  # 可以使用  # 验证码  # 大家多多  # 讲述了  # charset  # UTF  # title  # en  # head  # meta  # text 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Fortify是什么,和Jetstream有什么关系  香港服务器网站卡顿?如何解决网络延迟与负载问题?  如何在云主机上快速搭建网站?  JavaScript Ajax实现异步通信  如何在IIS7上新建站点并设置安全权限?  微信小程序 闭包写法详细介绍  深圳网站制作的公司有哪些,dido官方网站?  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  大同网页,大同瑞慈医院官网?  如何在阿里云ECS服务器部署织梦CMS网站?  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  如何快速搭建虚拟主机网站?新手必看指南  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  LinuxShell函数封装方法_脚本复用设计思路【教程】  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何快速搭建支持数据库操作的智能建站平台?  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  如何续费美橙建站之星域名及服务?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  Laravel如何处理和验证JSON类型的数据库字段  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Laravel如何实现文件上传和存储?(本地与S3配置)  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  Laravel怎么调用外部API_Laravel Http Client客户端使用  三星、SK海力士获美批准:可向中国出口芯片制造设备  如何破解联通资金短缺导致的基站建设难题?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Laravel如何使用Gate和Policy进行授权?(权限控制)  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  香港服务器如何优化才能显著提升网站加载速度?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  网站制作软件有哪些,制图软件有哪些?  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  香港服务器租用费用高吗?如何避免常见误区?  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  Swift中switch语句区间和元组模式匹配  如何快速生成ASP一键建站模板并优化安全性?  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区