jquery實現傳送驗證碼按鈕
阿新 • • 發佈:2021-02-05
<!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>