Javascript Countdown - Reset

traumgaertner

Grünschnabel
Ein freundliches Hallo an alle :)

Ich habe hier ein ganz simples Javascript mit dem über eine "onclick" Funktion ein Countdown gestartet wird der 30 Minuten im Sekundentakt herab zählt.
Das Problem an diesem Script ist, dass nach Ablauf der Zeit kein "reset" stattfindet. Im Gegenteil - klickt man nach Ablauf erneut auf den Button zählt er pro Klick in den Minusbereich (also, -1, -2, -3 etc.).

Idealerweise sollte der Countdown jedoch nach Ablauf der Zeit bei "0" stehen bleiben, der Button (als "finish" deklariert) in einen "reset" Button wechseln, und somit die Funktion erneut starten.

Ich bin eine absolute Niete in Javascript, und leider spuckt Google nur Countdowns aus die mir zu komplex sind (bspw. mit komplettem Zieldatum etc, was für meine Zwecke nicht dienlich ist).

Falls jemand einen Lösungsansatz hat (das Script ist wirklich mehr als simpel) wäre ich dafür sehr dankbar.

<script type="text/javascript">
function countDown(init)
{
if (init || --document.getElementById( "counter" ).firstChild.nodeValue >0 )
window.setTimeout("countDown()",1000);
};
</script>

<button onclick="countDown(true)">FINISH</button>

Vielen Dank. Gruss:Traumgaertner
 
Probier mal Folgendes:
Code:
function countDown()
{
	if( document.getElementById( "counter" ).firstChild.nodeValue > 0 ) {
		document.getElementById( "counter" ).firstChild.nodeValue--;
		window.setTimeout("countDown()",1000);
	}
}
 
Danke für die rasche Antwort @Gumbo :)
Mit dem von Dir geposteten Code hört der Countdown zwar bei 0 auf ohne im Anschluss bei Neuklick in den Minusbereich zu zählen, ein Reset, so dass bei Klick auf den Button der Counter neu startet findet aber leider trotzdem nicht statt. Oder habe ich Null jetzt einfach nur was falsch gemacht? -.-
 

Neue Beiträge

Zurück