Thomas: setTimeout ignoriert befehl

Beitrag lesen

wer kann helfen?

Bin mir nicht sicher ob ich helfen kann und ich habe den Code (ehrlich gestanden) nicht wirklich angesehen.

Jedenfalls ist bei setTimeout eines zu berücksichtigen:
Die Codeausführung wartet NICHT x Millisekunden, bis das Statement (meistens Funktionsaufruf) ausgeführt wird. Das Programm bleibt also NICHT stehen.
Es wird lediglich ein Timer angestossen, der nach einer gewissen Zeitspanne das Statement ausführt.

Also:

setTimeout("alert('eins'),1000);
alert("zwei");

bringt Dir 2 Messageboxen auf den Schirm, aber in folgender Reihenfolge:
zwei
eins (nach einer Sekunde, sofern Du schnell genug auf OK klickst.)

Ich vermute mal, dass es daran liegt, denn in Deiner While-Schleife wird die Funktion auf() aufgerufen, die dann den Timer auslöst.
Läufst Du da 3 mal durch, laufen 3 Timer, die aber alle fast zur gleichen Zeit zuschlagen.

Hope that helps!