jQuery实现发送验证码控制按钮禁用功能

需求效果:点击发送验证码之后,按钮禁用,5秒之后取消禁用。
效果图如下:

jQuery实现发送验证码控制按钮禁用功能

点击发送之后禁用按钮

jQuery实现发送验证码控制按钮禁用功能

5秒之后取消禁用,重新发送

jQuery实现发送验证码控制按钮禁用功能

代码如下:

<!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>
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容