如何暫停和恢復 setTimeout() 逾時
如何暫停和恢復 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 = 函數(回調,延遲){ vartimerId, 開始, 剩餘 = 延遲; this.pause = 函數() { window.clearTimeout(timerId); 定時器ID=空; 剩餘 -= Date.now() - 開始; }; this.resume = function() { if (定時器ID) { 返回; } 開始 = Date.now(); timerId = window.setTimeout(回呼, 剩餘); }; this.resume(); };
如何取得目前超時剩餘時間?
var timer = new Timer(function() {
alert("Done!");
}, 1000);
console.log("Time remaining:", timer.remaining); // Output: 1000
var 計時器 = new Timer(function() { 警報(“完成!”); }, 1000); console.log("剩餘時間:",timer.remaining); // 輸出:1000
timer.pause();
// Do some stuff...
timer.resume();
timer.pause();
// 做一些事情...
計時器.resume();
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3