在JavaScript中实现一个短信验证码的60秒倒计时功能可以通过多种方式完成。下面是一个简单的示例,展示了如何使用HTML和JavaScript创建一个倒计时定时器。这个例子假设你已经有一个表单用于接收用户输入的验证码,并且你已经实现了发送验证码到用户的逻辑。

HTML部分(假设你有一个表单):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>短信验证码倒计时</title>
</head>
<body>
<form id="verificationForm">
<input type="text" id="verificationCode" placeholder="请输入验证码">
<button id="submitBtn" disabled>请求验证码(60s后重发)</button>
<span id="countdown">60</span>秒后可重发
</form>
<script src="script.js"></script>
</body>
</html>JavaScript部分 (script.js):
document.addEventListener(’DOMContentLoaded’, function() {
let countdownTimer = 60; // 设置倒计时初始值
let countdownElement = document.getElementById(’countdown’); // 获取倒计时显示元素
let submitBtn = document.getElementById(’submitBtn’); // 获取提交按钮元素
// 开始倒计时函数
function startCountdown() {
if (countdownTimer >= 0) { // 如果倒计时还没结束
countdownElement.textContent = countdownTimer; // 显示倒计时秒数
countdownTimer--; // 倒计时减一
setTimeout(startCountdown, 1000); // 每秒执行一次startCountdown函数,形成循环倒计时
} else { // 如果倒计时结束
submitBtn.disabled = false; // 启用提交按钮
countdownElement.textContent = ’60秒后可重发’; // 显示可重发的提示信息
}
}
// 当用户点击提交按钮时,发送验证码并启动倒计时
document.getElementById(’verificationForm’).addEventListener(’click’, function(event) {
if (event.target === submitBtn) { // 确保点击的是提交按钮
// 这里添加发送验证码的逻辑(例如通过API发送)
// 当验证码发送成功后启动倒计时
startCountdown();
submitBtn.disabled = true; // 禁用提交按钮,防止重复点击发送验证码
}
});
});这个示例中的代码会在用户点击提交按钮后启动一个60秒的倒计时,倒计时结束后,提交按钮会重新启用,用户可以再次点击发送验证码,这只是一个简单的示例,实际的实现可能需要考虑更多的细节和错误处理。
TIME
