Sven Rautenberg: Fehler in Selfhtml ?? Layer (NN4x) ignoriert setTimeout

Beitrag lesen

Aloha!

window.setTimeout('hBeweg('+LayerNum+','+bis_links+','+Math.abs(Pixel)+')','+Pause+');

window.setTimeout('vBeweg('+LayerNum+','+bis_oben+','+Math.abs(Pixel)+')','+Pause+');

Wenn du ganz scharf hinsiehst, wirst du feststellen, daß dieser Befehl fehlerhaft ist.

Sinn ist, die Funktion hBeweg und vBeweg erneut mit _vier_ Parametern aufzurufen. Das macht der erste Parameter von setTimeout. Und der zweite Parameter sagt, wann das geschehen sollte. Durch die vielen Variablen in dem Aufruf ist dir der Überblick verloren gegangen, und du hast zwei Fehler eingebaut.

1. Du übergibst der Funktion den Parameter Pause nicht.

2. Du übergibst setTimeout irgendwas, was die Zeitdauer sein soll, aber nicht ist.

Wenn du den Parameter-Wust mal auseinandernimmst, also alle Variablen herausnimmst und durch Werte ersetzt, findest du heraus, was falsch ist. Pause muß zweimal auftauchen: Einmal, um an den nächsten Funktionsaufruf geleitet zu werden - also muß sie zum String hinzuaddiert werden, und ein zweites Mal, um als Variable direkt als Zeit übergeben zu werden.

- Sven Rautenberg