Zählerschleife mit Zeitverzögerung
Martin Baier
- javascript
Hallo, wer kann mir helfen:
Ich benötige eine Zählerschleife in der eine Zeitverzögerung eingebaut ist,
d.h. die Variable X soll im abstand von 1 sec. erhöht werden.
function Zähle()
{
for(var i = 1; i <= 10; i++)
X=1;
X = X + 1;
document.Layer1.left=X;
}
window.setTimeout("Laufe()",1000);
gruß Martin
X = 1;
function Zaehle()
{
X++;
document.Layer1.left = X;
window.setTimeout("Zaehle()",1000);
}
window.setTimeout("Zaehle()",1000);
Gruß
Norbert
Hi!
function Zähle()
{
for(var i = 1; i <= 10; i++)
X=1;
X = X + 1;
document.Layer1.left=X;
}
window.setTimeout("Laufe()",1000);
Huch, was soll das denn werden? ;-)
Erstmal zu Deiner Syntax: wahrscheinlich sollen die drei Anweisungen in die Schleife - dann müssen sie aber auch von einem Anweisungsblock (sprich: geschweiften Klammern) umschlossen werden.
Und warum setzt Du X zehnmal auf 1?
Und in der letzten Zeile wird auch noch eine Funktion angegeben, die gar nicht existiert.
Versuch es mal so:
var x=0; //Variable initialisieren
function erhoehe()
{
//Variable erhöhen und anwenden
x++;
document.Layer1.left=x;
//Funktion ruft sich selbst verzögert wieder auf:
window.setTimeout("erhoehe()", 1000);
}
//Funktion anstoßen
erhoehe();
VG Simon
Hallo!
Ich benötige eine Zählerschleife in der eine Zeitverzögerung eingebaut ist,
d.h. die Variable X soll im abstand von 1 sec. erhöht werden.
function Zähle()
{
for(var i = 1; i <= 10; i++)
X=1;
X = X + 1;
document.Layer1.left=X;
}
window.setTimeout("Laufe()",1000);
var x = 1;
var x_ende = 240;
function zaehle()
{
x++;
document.Layer1.left=x;
if(x>=x_ende)
{
clearTimeout(timeout_id);
}
}
timeout_id = setTimeout("zaehle", 1000)
MfG, André Laugks
ReHallo!
timeout_id = setTimeout("zaehle", 1000)
timeout_id = setTimeout("zaehle()", 1000);
MfG, André Laugks
Hi!
var x = 1;
var x_ende = 240;
function zaehle()
{
x++;
document.Layer1.left=x;
if(x>=x_ende)
{
clearTimeout(timeout_id);
}
}
timeout_id = setTimeout("zaehle", 1000)
Dann musst Du hier aber auch jeweils setInterval und clearInterval benutzen, sonst wird es ja nur einmal aufgerufen.
VG Simon
Hallo!
Dann musst Du hier aber auch jeweils setInterval und clearInterval benutzen, sonst wird es ja nur einmal aufgerufen.
Upps, klar Du hast recht, mein Fehler. setTimeout ruft die Funktion ja nur einmal auf. clearTimeout ist auch falsch.
Um es jetzt noch ganz richtig zu machen, sollte setInterval() in einer Funktion aufgerufen werden, wenn die Seite vollständig geladen ist. Wenn der Layer "Layer1" noch nicht da ist und die Funktion "zaehle()" will den Layer bewegen, kommt es zu einer Fehlermeldung("Objekt erwartet" oder so).
MfG, André Laugks