JavaScript实现短信发送按钮倒计时功能详解
作者:像素猫时间:2026-10-25 14:06:47浏览:465
本文详细介绍如何使用JavaScript实现短信验证码发送按钮的倒计时效果。通过监听点击事件,利用setInterval定时器递减时间变量,动态修改按钮innerHTML显示剩余秒数,并在倒计时结束时清除定时器、恢复按钮可用状态及初始文本,帮助开发者快速掌握前端交互逻辑。
本文分享了一段使用JavaScript实现短信验证码发送功能的完整代码示例,供读者参考学习。
最终运行效果如下图所示:

实现该功能的核心逻辑如下:
1. 当用户点击按钮后,立即将按钮的disabled属性设置为true以禁用点击; 2. 同时需要更新按钮内的文本内容,由于秒数会动态变化,因此必须使用定时器来实现; 3. 定义一个时间变量,在定时器执行过程中不断进行递减操作; 4. 当该变量递减至0时,表明倒计时结束,此时需要停止定时器,并将按钮恢复为初始的可用状态。
HTML结构部分代码如下:
<div>
<input type="tel" placeholder="验证码"><button>发送</button>
</div>CSS样式部分定义如下:
div {
width: 570px;
height: 200px;
margin: 200px auto;
font-size: 22px;
}
input {
float: left;
width: 180px;
height: 25px;
outline: none;
border: 1px solid pink;
padding-left: 10px;
}
button {
float: left;
width: 60px;
height: 29px;
line-height: 29px;
outline: none;
border: 1px solid pink;
}JavaScript逻辑部分实现如下:
let btn = document.querySelector("button");
let time = 10;
btn.addEventListener('click', function () {
btn.disabled = true;
let timer = setInterval(function () {
if (time == 0) {
// 清除定时器和复原按钮
btn.disabled = false;
clearInterval(timer);
btn.innerHTML = "发送";
time = 10; //这个10需要重新开始
} else {
btn.innerHTML = time + "s"
time--;
}
}, 1000)
})以上内容即为本文的全部介绍,希望能为各位的学习提供一定的帮助,同时也欢迎大家继续支持本站。
作者最新文章
vtk.js 渲染窗口黑屏或无内容显示的常见原因及排查
2026-11-05 17:30:30
js-cookie 安装与基础用法:set、get、remove 详解
2026-11-05 16:35:06
适合JavaScript初学者的实战项目:制作简易待办事项列表
2026-11-05 16:17:07
JS打开新标签页时怎么通过URL传递参数
2026-11-05 12:21:08
sigma.js 自定义节点样式:设置颜色、大小及标签显示的技巧
2026-11-05 09:55:00
