Schleife mit setTimeout

<script language="JavaScript" type="text/javascript">
<!--
var i;
i=-1;
function zahlen() {
i++;
document.meinformular.meintextfeld.value = i;
setTimeout("zahlen()",1000);
}
//-->
</script>


<body onLoad="zahlen()">
<form name="meinformular" id="meinformular">
<input name="meintextfeld" type="text" id="meintextfeld" class="textfeld">
</form>


Die Funktion zahlen() ruft sich nach jeder Sekunde immer wieder selber auf. Innerhalb der Funktion zahlen() kommt der Aufruf der Funktion zahlen() mit setTimeout().
setTimeout("zahlen()",1000);
Damit hier auch etwas passiert, wird die Variable i bei jedem Funktionsaufruf um den Wert 1 erhöht und im Formulartextfeld angezeigt. So hat man eine Anzeige der Verweildauer auf dieser Seite in Sekunden. Selbstverständlich muss beim Laden der Seite der Variablen i ein Startwert zugewiesen werden.

Ihr solltet jetzt in der Lage sein, eine Anzeige in Minuten und Sekunden ohne Hilfe selber zu erzeugen. Ihr braucht dazu 2 weitere Variablen (Minuten, Sekunden) und eine if-Struktur. Wenn die Sekunden höher als 60 sind, werden sie auf 0 gesetzt und die Minuten werden um 1 erhöht.


Zeitanzeige starten

weiter