Hi,
ich habe vor Schleifen mit Hilfe von setTimeout zu verzögern (einfahrender Text), aber diese Verzögerung verzögert nie die x-Wert-Variable x1:
Das geht nicht, Timeouts werden direkt gesetzt und erfolgen nach der angegebenen Zeit das Skript läuft derweil munter weiter.
function txt1move() {
while(x1 <= 400) {
setTimeout("x1change()",100);
}
Damit erzeugst du 400 Timeouts die nach ca. 400 ms aufgerufen werden.
Die Variante, dass die Funktion sich im Timeout wieder selbst aufruft funktioniert zwar, aber mir gefällt nicht, dass ohne es direkt mitzubekommen die "Schleife" im Hintergrund immer weiter läuft, nur dass der x-Wert sich nicht mehr ändert.
Versteh ich nicht, du änderst doch den x wert, wenn du willst das er nicht mehr geändert wird mußt du den Timeout abbrechen.
Struppi.