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)
    })

以上内容即为本文的全部介绍,希望能为各位的学习提供一定的帮助,同时也欢迎大家继续支持本站。

作者最新文章