如何暂停和恢复 setTimeout() 超时?
您可以换行window.setTimeout 函数创建支持暂停和恢复的自定义计时器。
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();
};
如何获取当前超时剩余时间?
可以使用自定义定时器的剩余属性来获取当前超时剩余时间.
var timer = new Timer(function() {
alert("Done!");
}, 1000);
console.log("Time remaining:", timer.remaining); // Output: 1000
用法示例:
timer.pause();
// Do some stuff...
timer.resume();
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3