SetTimeout() in JavaScript anhalten und fortsetzen
In JavaScript können Sie mit setTimeout() die Ausführung einer Funktion nach einer bestimmten Zeit planen Verzögerung. Es kann jedoch vorkommen, dass Sie die Ausführung des Timeouts anhalten oder fortsetzen müssen.
SetTimeout() anhalten und fortsetzen
Um ein laufendes Timeout anzuhalten, müssen Sie kann die Funktion window.clearTimeout() verwenden. Als Argument wird die ID des zu löschenden Timeouts benötigt. Nach dem Anhalten können Sie das Timeout mit der Methode timer.resume() fortsetzen.
Benutzerdefinierter Timer mit Pause-/Fortsetzungsfunktion
Ein alternativer Ansatz besteht darin, einen benutzerdefinierten Timer zu erstellen Timer-Objekt mit Pause- und Resume-Methoden. Dadurch können Sie das Timeout direkter steuern. Hier ist ein Beispiel für einen solchen Timer:
<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>
Verbleibende Zeit auf setTimeout() abrufen
Leider gibt es keine integrierte Möglichkeit, die verbleibende Zeit abzurufen ein setTimeout(). Sie können jedoch den oben beschriebenen Ansatz verwenden, bei dem Sie die Startzeit manuell speichern und die verbleibende Zeit berechnen, wenn Sie den Timer anhalten.
Indem Sie setTimeout() in ein benutzerdefiniertes Timer-Objekt einschließen oder den manuellen Zeitberechnungsansatz verwenden können Sie in JavaScript eine Pausen- und Fortsetzungsfunktion für Ihre Zeitüberschreitungen erreichen.
Das obige ist der detaillierte Inhalt vonWie kann ich setTimeout() in JavaScript anhalten und fortsetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!