Greenhorn2013: Hilfe

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

Quelltext:

<script>
function TimeFunction()
{
StartTime=new Date()-1000;
ActualTime=new Date();
Seconds=1296-Math.round((ActualTime.getTime()-StartTime.getTime())/1000.);
Minutes=0;Hours=0;
if(Seconds<0){self.document.reloadform.submit()}
else{if(Seconds>59){Minutes=Math.floor(Seconds/60);Seconds=Seconds-Minutes*60}if(Minutes>59){Hours=Math.floor(Minutes/60);Minutes=Minutes-Hours*60}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)+""}}
if(Seconds>=0) window.setTimeout("TimeFunction();",200);
}
if(1296>=0) window.onload=TimeFunction;
</script>

Danke für eure Mühe

  1. 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