Как приостановить и возобновить таймаут 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();
};
Как узнать оставшееся время текущего тайм-аута?
Вы можете использовать свойство rest пользовательского таймера, чтобы узнать оставшееся время текущего тайм-аута .
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