ES6 實現按鈕單擊後禁用、並在指定時間後恢復

實現功能

  1. 單擊按鈕後禁用該按鈕;
  2. 間隔指定時間後恢復啓用;

具體實現

<input type="button" value="Enabled! Click to toggle" id='btn' />
<script>
{
    const START = 5;      // s
    const TIMEOUT = 1000; // ms
    let btn = document.querySelector('#btn'),
        rawText = btn.value,
        count,
        handler = () => {
            if (count > 0) {
                btn.value=`Resume enabled in ${count--} s`;
                setTimeout(handler, TIMEOUT);
            } else {
                btn.disabled = false;
                btn.value = rawText;
            }
        };
    btn.addEventListener('click', ({target}) => {
        count = START;
        target.disabled = true;
        handler()
    });
}
</script>

效果截圖

運行效果
示例文件(永久有效):
ButtonDisableResume.html 提取碼:xovi

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章