天天看點

js-計時器-發送短信案例(點選按鈕後,該按鈕60秒之内不能再次點選,防止重複發送短信)

① 按鈕點選之後,會禁用 disabled 為true

② 同時按鈕裡面的内容會變化, 注意 button 裡面的内容通過 innerHTML修改

③ 裡面秒數是有變化的,是以需要用到定時器

④ 定義一個變量,在定時器裡面,不斷遞減

⑤ 如果變量為0 說明到了時間,我們需要停止定時器,并且複原按鈕初始狀态。

<!DOCTYPE html>
<html >

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>發送短信案例</title>
</head>

<body>
    <input type="text">
    <button>發送</button>
    <script>
        /* 1,點選發送,button按鍵失效,其中的内容改變為還剩n秒
           2,等時間等于0,停止計時同時button中的内容改變,時間恢複為n秒 */
        var btn = document.querySelector('button');
        var time = 5;

        btn.addEventListener('click', function () {
            btn.disabled = true;
            var timer = setInterval(function () {
                if (time == 0) {
                    clearInterval(timer);
                    btn.disabled = false;
                    btn.innerHTML = '發送';
                    time = 5;
                } else {
                    btn.innerHTML = '還剩' + time + '秒';
                    time--;
                }
            }, 1000)

        })
    </script>
</body>

</html>
           

繼續閱讀