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>

到此這篇關於jQuery實現發送驗證碼控制按鈕禁用功能的文章就介紹到這瞭,更多相關jquery控制按鈕禁用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: