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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
2019-09-17 SEO搜索引擎优化是什么?