ptr: Rückwärtszähler mit while-schleife

Beitrag lesen

Hallo!
ich versuche, einen rückwärtszähler zu basteln, der im sekundentakt abwärts zählt. mein ansatz:

var zaehler4 = 30;
function countdown()
  {window.document.spiel.zeit.value = zaehler4;
   x = window.document.spiel.zeit.value;
   while(zaehler4 > 20)
   {window.setTimeout("window.document.spiel.zeit.value = x-1",1000);
   zaehler4--;}
}

aber irgendwie komm ich mit der while-schleife nicht zurecht, da die der zaehler lediglich von '30' auf '29' springt. Woran liegt das? Kann mir jemand den Fehler sagen? Danke!
PS: vielleicht gibts ja noch ne ganz andere intelligentere lösung, ich bin für alles offen! :)

hallo,
ich denke, auch wenn du die while-schleife zum laufen bringst wird das wenig nutzen.
die läuft dann nämlich solange durch wie die bedingung erfüllt ist, ohne auf das window.setTimeout zu warten.
anbei mal zwei varianten:

1. ne funktion, die sich nach ner sekunde selbst wieder aufruft:

**********************************************
var zaehler4 = 30;
function countdown()
{
window.document.spiel.zeit.value = zaehler4;
zaehler4--;
if(zaehler4>-1)
{window.setTimeout("countdown()",1000);}
}
**********************************************

2. n intervall:

**********************************************
var zaehler4 = 30;
var intervall;

function cd()
{
window.document.spiel.zeit.value = zaehler4;
zaehler4--;
if(zaehler4==-1)
{window.clearInterval(intervall);}
}

function countdown()
{
intervall=window.setInterval("cd()",1000)
}
**********************************************

habs nicht ausprobiert, ich hoffe das funktioniert und ich konnte dir weiterhelfen.
wenns nicht hinhaut oder du noch fragen hast, schreibs einfach nochmal hier ins forum, ich schau morgen nochmal rein
gruß
ptr