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

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