Hallo Martin! Martin Parusel wrote:
Joachim Marx schrieb:
Durch scharfes Nachdenken kommst Du jetzt darauf, warum Deine Version nicht funktionieren konnte.
Irgendwie Ja aber auch irgendwie Nein! JS verwirrte mich schon immer
Dein ursprünglicher Ansatz war doch ok. Es gab lediglich einen einzigen Denk-Fehler bei der Verwendung von setTimeout() : setTimeout ("showtime(timeout)", 1000 ); Wie bereits oben gesagt, hat setTimeout() ja zwei verschiedene Formen von Syntax. Du hast die gewählt, bei der als 1. Parameter der auszuführende Code als STRING übergeben wird. Wenn Du nun willst, dass dabei "timeout" durch den INHALT der gleichnamigen Variablen ersetzt wird, musst Du diese Ersetzung geschehen lassen, BEVOR der String an setTimeout übergeben wird. D.h. Du setzt den String erst aus seinen Teilen zusammen: "showtime("+timeout+")", daraus wird dann z.B. "showtime(90)". Tust Du das nicht, bringt setTimeout() folgendes zur Ausführung: "showtime(timeout)" - wobei timeout eine in dem Moment UNDEFINIERTE VARIABLE ist, da setTimeout() den übergebenen Code in einer eigenen Umgebung zur Ausführung bringt und daher nichts von der Variablen "timeout" weiss. (Die Error-Console im Browser zeigt dir: "ERROR: timeout is not defined") http://developer.mozilla.org/en/docs/DOM:window.setTimeout : "Code executed by |setTimeout()| is run in a separate execution context to the function from which it was called." Ist also gar nichts mysteriöses und das Javascript verhält sich genauso wie es soll. Joachim -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org