Como pausar e retomar um tempo limite setTimeout()?
Você pode encerrar a função window.setTimeout para criar um cronômetro personalizado que suporta pausa e retomada.
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();
};
Como obter o tempo restante no tempo limite atual?
Você pode usar a propriedade restante do cronômetro personalizado para obter o tempo restante no tempo limite atual .
var timer = new Timer(function() {
alert("Done!");
}, 1000);
console.log("Time remaining:", timer.remaining); // Output: 1000
Exemplo de uso:
timer.pause();
// Do some stuff...
timer.resume();
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3