Rückwärtszähler mit while-schleife
lousypoetry
- javascript
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! :)
Servus,
ich versuche, einen rückwärtszähler zu basteln, der im sekundentakt abwärts zählt. mein ansatz:
var zaehler4 = 30;
Weil diese Schleife nur so lane durchlaufen wird wie zaehler4=30 ist versuche folgendes. zaehler4>0
Gruss Matze
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--;}
}
du ziehtst lediglich von x 1 ab. Das kann minimal 19 ergeben, da x sich innerhalb der Schleife nicht ändert.
while(zaehler4 > 20) {
window.setTimeout("window.document.spiel.zeit.value = zaehler4",1000);
zaehler4--;}
}
Vielleicht ist es nicht das was du willst,
aber unter http://www.demo-gegen-sozialabbau.de/ findest du vielleicht was du suchst. Der Verweis zum entsprechenden 'Frame' ist http://www.demo-gegen-sozialabbau.de/unten.htm ;
dort findest du dann auch den Quelltext.
MfG,
Leo
P.S.: Ich sage übrigens nicht, dass ich in allen Punkten mit dem
Seiteninhalt zufrieden bin (aber in manchen!).
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
- 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);}
}
danke, das funktioniert!
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--;}
}
Damit setzt du einfach 10 Timer die nach einer Sekunde alle auf einmal starten und dann von x eins abziehen.
Denk mal drüber nach was ein setTimeout und eine Schleife machen.
Struppi.