Antje Hofmann: Scripterläuterung zur Zeitberechnung

Beitrag lesen

Hallo Oliver

kann mir jemand von euch mal den folgenden Quelltext erklären??

ja sicher

<script>
function TimeFunction()
{
StartTime=new Date()-1000;

hier wird eine Startzeit gebildet. Der Startzeitpunkt liegt 1000 Millisekunden vor Zeitpunkt des Aufrufes. Die Subtraktion der 1000 bewirkt, dass das Dateobjekt in die Anzahl der Millisekunden konvertiert wird.

ActualTime=new Date();

Bestimmung des Aufrufzeitpunktes

Seconds=1296-Math.round((ActualTime.getTime()-StartTime.getTime())/1000.);

hier steckt ein Fehler drin StartTime ist durch die Subtraktion eine Zahl und kein Dateobjekt mehr. Die Methode getTime() kann darauf nicht angewandt werden

Ansonsten soll die Zeile bewirken:
1296 - gerundeter ((Anzahl der Millisekunden zur aktuellen Zeit - Anzahl der Millisekunden zur aktuellen Zeit )/1000)

Was mit diesen Daten ziemlich sinnlos ist, da die Differenz zwischen beiden Zeitpunkten immer 1000 ist und damit 1295 Sekunden rauskommen.

Minutes=0;Hours=0;

Minuten und Stunden werden auf 0 gesetzt.

if(Seconds<0){self.document.reloadform.submit()}

ist die Anzahl der Sekunden kleiner als 0 wird ein Formular auf dieser Seite abgeschickt

else{if(Seconds>59){Minutes=Math.floor(Seconds/60);Seconds=Seconds-Minutes*60}

ist die Anzahl der Sekunden größer als 59 werden daraus die Minuten berechnet

if(Minutes>59){Hours=Math.floor(Minutes/60);Minutes=Minutes-Hours*60}

ist die Anzahl der Minuten größer als 59 werden daraus die Stunden berechnet

if(Seconds<10){Seconds="0"+Seconds}if(Hours>0){if(Minutes<10){Minutes="0"+Minutes}ID.value=""+Hours+":"+Minutes+":"+(Seconds+"").substr(0,2)+""}else{ID.value=""+Minutes+":"+(Seconds+"").substr(0,2)+""}}

hier werden die Zeitangaben formatiert und die Zeit in einem Formularfeld ausgegeben

if(Seconds>=0) window.setTimeout("TimeFunction();",200);

hier ruft sich die Funktion nach 200 Millisekunden erneut auf

}

if(1296>=0) window.onload=TimeFunction;

sofern die Bedingung erfüllt ist, was sie immer ist, wird nach dem laden des Dokumentes die Funktion aufgerufen

Insgesamt kein schönes Script. Verräts du uns, was du machen möchtest? Es findet sich sicher eine bessere Lösung als diese.

Viele Grüße

Antje