最直接的思路可能就是點擊按鈕后,按鈕的事件綁定函數解綁,1s后重新綁定函數
<button id="btn">0</button> <script> btn.onclick = function add(){ btn.innerHTML = Number(btn.innerHTML) + 1; btn.onclick = null; clearTimeout(timer); var timer = setTimeout(function(){ btn.onclick = add; },1000); } </script>
另一個思路是獲取並記錄時間,當再次點擊時,時間間隔大於1s時才有效
<button id="btn">0</button> <script> btn.onclick = (function(){ var last = Date.now(); return function(){ var now = Date.now(); if((now - last)>1000){ btn.innerHTML= Number(btn.innerHTML) + 1; } last = now; } })(); </script>
