Gibt es irgendwas in JavaScript (also nicht über "plugins"), das mir erlaubt, etwas wie setTimeout
zu machen, aber anstatt zu sagen, in wie vielen Millisekunden etwas passieren soll, gebe ich ihm ein Datumsobjekt, wann es passiert etwas tun?
Und ja, ich weiß, dass ich das tun kann, indem ich einfach new Date()
von meinem existierenden date-Objekt subtrahiere (oder vielleicht umgekehrt), um die Anzahl der Millisekunden zu erhalten, aber ich würde es trotzdem gerne wissen.
Nein, aber Sie könnten leicht Ihre eigene Funktion schreiben. Berechne einfach die Differenz zwischen jetzt und dem gegebenen Moment in Millisekunden und rufe setTimeout damit auf.
In etwa so:
%Vor%BEARBEITEN: Die Extra-Multiplikation wurde um 1000 entfernt, danke Chris, dass Sie darauf hingewiesen haben!
Da Leute über die Berechnung von Zeitüberschreitungsintervallen mit date
-Objekten sprechen, sollte beachtet werden, dass in Firefox der maximale Wert setTimeout()
für das Intervall den Parameter 2147483647 (2 ^ 31 - 1) as PRIntervalTime
ist eine vorzeichenbehaftete 32-Bit-Ganzzahl. Das kommt auf knapp 25 Tage.
Tags und Links javascript datetime settimeout