本文详细介绍如何使用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)
})以上内容即为本文的全部介绍,希望能为各位的学习提供一定的帮助,同时也欢迎大家继续支持本站。