要求:
點擊按鈕后,該按鈕60秒之內不能再次點擊,防止重復發送短信

實作思路:
- 按鈕點擊之后,禁用
disabled為true - 同時按鈕里面的內容會變化,
button里面的內容通過innerHTML修改 - 里面秒數是有變化的,因此需要用到定時器
- 定義一個變數,在定時器里面,不斷遞減
- 如果變數為0說明時間到了,需要停止定時器,重新恢復變數,并且復原按鈕初始狀態
代碼實作:
<body></body>內容:
手機號碼: <input type="text"> <button>發送</button>
<script>
// 按鈕點擊之后,會禁用 disabled 為true
// 同時按鈕里面的內容會變化, 注意 button 里面的內容通過 innerHTML修改
// 里面秒數是有變化的,因此需要用到定時器
// 定義一個變數,在定時器里面,不斷遞減
// 如果變數為0 說明到了時間,我們需要停止定時器,并且復原按鈕初始狀態
var btn = document.querySelector('button');
var time = 3; // 定義剩下的秒數
btn.addEventListener('click', function() {
btn.disabled = true;
var timer = setInterval(function() {
if (time == 0) {
// 清除定時器和復原按鈕
clearInterval(timer);
btn.disabled = false;
btn.innerHTML = '發送';
time = 3; // 重新賦值時間變數
} else {
btn.innerHTML = time + '秒后可再次發送';
time--;
}
}, 1000);
});
</script>
實作效果:
點擊發送之后,按鈕禁用,并出現倒計時,設定為3秒倒計時,

3秒過后,按鈕復原,可以重新點擊發送,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/167665.html
標籤:JavaScript
上一篇:jquery體驗
下一篇:關于URL
