当前位置: 首页 > news >正文

HTML+CSS+JavaScript:验证码60秒倒计时按钮

一、需求

1、打开浏览器时,按钮禁用,按钮内容为60秒倒计时

2、倒计时结束时,按钮禁用被取消

二、应用场景

1、60秒内不得重新发送验证码

2、我已阅读用户协议(5s)

三、完整代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>倒计时按钮</title>
</head>
<body><button disabled>倒计时:60秒</button><script>const button=document.querySelector('button')let i=60let timer=setInterval(()=>{i--button.innerHTML=`倒计时:${i}秒`if(i===0){clearInterval(timer)button.disabled=0 //0:取消按钮的禁用}},1000)</script>
</body>
</html>

 

四、注意事项

if判断语句一定要放在间歇函数的里面,否则无法终止定时器。

因为如果判断语句放在间歇函数外,判断语句作为同步任务会被放入执行栈中,程序运行时立刻执行且只执行一次。而间歇函数作为异步任务被放入任务队列中等待执行。

相反地,判断语句放在间歇函数里,每隔一秒,都会进行一次判断,直到i为0时终止倒计时。

http://www.lryc.cn/news/103684.html

相关文章:

  • 互联网医院系统开发:打造便捷高效的医疗服务平台
  • 章节5:SQL注入之WAF绕过
  • iphone卡在恢复模式怎么办?修复办法分享!
  • uniApp禁止遮罩弹窗下的页面滚动
  • 【Huawei】WLAN实验(三层发现)
  • Windows 10 安装 PostgreSQL 12.x 报错 ‘psql‘ 不是内部或外部命令 由于找不到文件libintl-9.dll等问题
  • 在CSDN学Golang云原生(持续交付Argo)
  • 安全运维 -- splunk 集群配置归档
  • 使用kind在mac本地搭建k8s及istio
  • 11、springboot项目启动时对容器中的bean进行延迟初始化
  • 树莓派镜像安装 + 设置 + 镜像批量化操作 - 自动化烧写SD Card (三)
  • C++继承特性(4)——友元与静态
  • VR党建主题数字互动虚拟展馆软件开启党建铸魂育人新篇章
  • 单网卡实现 双IP 双网段(内外网)同时运行
  • C# 委托2
  • 【计算机网络】网络层协议 -- IP协议
  • 记录浙政钉的消息通知的一次开发实战记录
  • 详解主流的Hybrid App 技术框架与研发方案
  • 【软件测试】性能测试工具- LoadRunner的介绍和使用
  • react
  • AI入门:了解人工智能的基础知识
  • ACL原理
  • EP4CE6E22C8N Error: Can‘t recognize silicon ID for device 1
  • vue3-seamless-scroll无缝滚动
  • 适配器模式——不兼容结构的协调
  • 【NVIDIA CUDA】2023 CUDA夏令营编程模型(一)
  • SHELL——备份脚本
  • VS创建wsdl服务提供给java调用
  • 盘点 TypeScript 内置类型
  • Netty 执行了多次channelReadComplete()却没有执行ChannelRead()