Comment suspendre et reprendre un délai d'attente setTimeout() ?
Vous pouvez terminer la fonction window.setTimeout pour créer une minuterie personnalisée prenant en charge la pause et la reprise.
<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>
Comment obtenir le temps restant sur le délai d'expiration actuel ?
Vous pouvez utilisez la propriété restante de la minuterie personnalisée pour obtenir le temps restant sur le délai d'expiration actuel.
<code class="javascript">var timer = new Timer(function() { alert("Done!"); }, 1000); console.log("Time remaining:", timer.remaining); // Output: 1000</code>
Exemple d'utilisation :
<code class="javascript">timer.pause(); // Do some stuff... timer.resume();</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!