javascript案例4——按钮禁用、获取验证码、倒计时
JavaScript案例 获取 按钮 验证码 禁用 倒计时
2023-09-14 09:04:09 时间
一、案例描述
模拟手机发送验证码的效果,点击按钮,倒计时开始,倒计时过程中不允许再次点击。等待变成0之后再恢复成原始模样。
二、案例效果演示
三、案例局部代码
HTML代码:
<button onclick="sendCode()" id="sendBtn">发送验证码</button>
js代码:
<script type="text/javascript">
// 等待时长
var waitTime = 5;
// 存储定时器
var t;
function sendCode() {
t = setInterval(decTime, 1000);
}
function decTime() {
// 获取按钮元素
var btn = document.getElementById('sendBtn');
// 设置禁用
btn.disabled = true;
// 等待时间逐秒减一
// waitTime = waitTime - 1;
// 或者
waitTime--;
// 将等待时间显示到按钮上
btn.innerText = waitTime + 'S后重新获取';
// 当时间到 0 时:
if (waitTime == 0) {
// 清除定时器
clearInterval(t);
// 恢复按钮为可使用
btn.disabled = false;
// 改变按钮的文字
btn.innerText = '发送验证码';
// 刷新页面,这里是为了彻底清除定时器,否则下次点击时,仍然继续往下减,出现负数
location.reload();
}
}
</script>
四、案例整体代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>按钮禁用</title>
</head>
<body>
<button onclick="sendCode()" id="sendBtn">发送验证码</button>
<script type="text/javascript">
// 等待时长
var waitTime = 5;
// 存储定时器
var t;
function sendCode() {
t = setInterval(decTime, 1000);
}
function decTime() {
// 获取按钮元素
var btn = document.getElementById('sendBtn');
// 设置禁用
btn.disabled = true;
// 等待时间逐秒减一
// waitTime = waitTime - 1;
// 或者
waitTime--;
// 将等待时间显示到按钮上
btn.innerText = waitTime + 'S后重新获取';
// 当时间到 0 时:
if (waitTime == 0) {
// 清除定时器
clearInterval(t);
// 恢复按钮为可使用
btn.disabled = false;
// 改变按钮的文字
btn.innerText = '发送验证码';
// 刷新页面,这里是为了彻底清除定时器,否则下次点击时,仍然继续往下减,出现负数
location.reload();
}
}
</script>
</body>
</html>
五、总结
如果想从60s开始倒计时,改一下等待时长即可。
相关文章
- javascript 基础_JavaScript高级编程
- JSON 和 JavaScript 中字符串化的怪象
- JavaScript数组方法详解
- 为什么说:JavaScript 模块中的默认导出很糟糕
- JavaScript案例:简单计算(附计算器)
- JavaScript案例:函数相关
- JavaScript案例:分时显示不同图片,显示不同问候语
- JavaScript案例:tab栏切换
- JavaScript案例:密码框格式提示错误信息
- JavaScript案例:动态生成表格
- JavaScript案例:轮播图
- JavaScript案例:获取URL参数
- JavaScript案例:筋斗云
- JavaScript表单约束验证
- JavaScript学习总结(二十)——Javascript非构造函数的继承详解编程语言
- JavaScript事件列表解说
- 用javascript实现div可编辑的常见方法
- HTML与javascript常碰到的编码问题
- JavaScript验证浏览器是否支持javascript的方法小结
- JAVASCRIPT客户端验证数据的合法性代码(正则)
- JavaScript高级程序设计客户端存储学习笔记
- 面向对象的Javascript之二(接口实现介绍)
- javascript级联下拉列表实例代码(自写)
- asp.net中javascript的引用(直接引入和间接引入)
- 一个JavaScript获取元素当前高度的实例
- javascript实现表格排序编辑拖拽缩放