如何暂停和恢复 setTimeout() 超时?
您可以换行window.setTimeout 函数创建一个支持暂停和恢复的自定义定时器。
<code class="javascript">var Timer = function(callback, delay) { var timerId, start, remaining = delay; this.pause = function() { window.clearTimeout(timerId); timerId = null; remaining -= Date.now() - start; }; this.resume = function() { if (timerId) { return; } start = Date.now(); timerId = window.setTimeout(callback, remaining); }; this.resume(); };</code>
如何获取当前超时的剩余时间?
你可以使用自定义计时器的剩余属性来获取当前超时的剩余时间。
<code class="javascript">var timer = new Timer(function() { alert("Done!"); }, 1000); console.log("Time remaining:", timer.remaining); // Output: 1000</code>
用法示例:
<code class="javascript">timer.pause(); // Do some stuff... timer.resume();</code>
以上是如何在 JavaScript 中控制和跟踪超时?的详细内容。更多信息请关注PHP中文网其他相关文章!