当前位置:主页 > 网页前端 > jquery >

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>

您可能感兴趣的文章:

相关文章