jQuery实现发送验证码控制按钮禁用功能
时间:2022-04-09 14:52:50|栏目:jquery|点击: 次
需求效果:点击发送验证码之后,按钮禁用,5秒之后取消禁用。
效果图如下:
点击发送之后禁用按钮
5秒之后取消禁用,重新发送
代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <input type="text"> <input type="button" value="发送"> <script src="js/jquery-1.12.4.min.js"></script> <script> // 获取元素 var $btn = $("input:button") // 添加按钮的点击事件 $btn.click(function () { // 定义一个变量存储时间的数字 var n = 5; // 让按钮被禁用 // 替换按钮的文字内容 $(this).prop("disabled",true).val(n + "s 后重新发送") // 每隔 1s 更改倒计时内容 // 通过定时器进行每隔 1s 减时间效果 var timer = setInterval(() => { n--; // 文字内容发生变化 // 定时器内部的this指向的默认为 window $(this).val(n + "s 后重新发送") // 判断如果时间到了 0 ,就要停止定时器 if (n <= 0) { clearInterval(timer) // 5s 结束后,需要让文字恢复 发送 // 让按钮取消禁用 $(this).val("重新发送").prop("disabled",false) } },1000) }) </script> </body> </html>