手机验证码倒计时的实现
发布时间:2023-10-08
文章目录
手机验证码倒计时的实现
1.HTML代码
2.第一种方法实现
普通点击事件实现验证码倒计时
3.第二种方法实现
监听事件实现验证码倒计时
总结
手机验证码倒计时的实现
1.HTML代码
<head> <style> #btn { padding: 30px 50px; } </style> </head> <body> <!-- 在静态页面中写入一个button按钮 --> <button id="btn">获取手机验证码</button> </body>
2.第一种方法实现
普通点击事件实现验证码倒计时
<script> // 普通点击事件实现验证码倒计时 // 获取元素 var btn = document.getElementById('btn') // 定义时间6秒 var n = 6 // 绑定点击事件 btn.on click = function () { // 定时器 :setInterval (回调函数,时间间隔) var timer = setInterval(function () { // 时间递减 n-- // 获取验证码过程 btn.innerHTML = '请耐心等待(' + n + ')' // 按钮禁用 btn.disabled = true // 当时间减到0时,获取验证码失败,需要点击按钮重新发送 if (n < 0) { btn.innerHTML = '重新发送' // 当时间减到0时,按钮禁用取消,可以点击按钮 btn.disabled = false // 将时间重新定义到60秒,重新发送验证码 n = 6 // 在定时器完成一次后需要清除定时器,否则会一直执行该代码,影响下一次执行的代码 clearInterval(timer) } // 1000 时间间隔,单位是毫秒 } 1000) } </sc ript>
3.第二种方法实现
监听事件实现验证码倒计时
<script> // 监听事件实现验证码倒计时 // 获取元素 var btn = document.getElementById('btn') // 事件处理程序 function countdown() { var n = 6; // 按钮禁用 btn.disabled = true; // 定时器 :setInterval (回调函数,时间间隔) var timer = setInterval(function () { btn.innerHTML = '请耐心等待(' + n + ')'; n--; if (n < 0) { // 清除定时器 clearInterval(timer); btn.innerHTML = '重新发送'; // 按钮禁用取消 btn.disabled = false; } } 1000); } // 添加监听事件 事件类型 点击:'click' btn.addEventListener('click' countdown); </sc ript>
总结
监听事件的代码将定时器函数定义为独立的函数,增强代码的可读性和可维护性。当按钮被点击时,调用countdown函数开始倒计时,倒计时结束后重新启用按钮。同时,使用addEventListener方法代替了on
标签: 手机验证码倒计时的实现 , 普通点击事件实现验证码倒计时 , 监听事件实现验证码倒计时 ,