molily: Übergebenes Objekt an Funktionen weitergeben

Beitrag lesen

Hallo,

show(id); //Aktion , hier würde das Problem wohl auch auftreten

Nein, würde es nicht!

dertimer=setTimeout("countdown(id)",50); <--Line 129

id is not defined

Noch die Erklärung, warum das nicht funktioniert:
Wenn du Code verzögert mit setTimeout aufrufst, wird dieser im globalen Geltungsbereich ausgeführt. id ist hier aber eine lokale Funktionsvariable und auf die hat eine fremde Funktion selbstverständlich keinen Zugriff - wohl aber die Funktion selbst.

Der Tipp von Karin zielt darauf hinaus, eine Closure zu erzeugen, in der die Variable id eingeschlossen wird, damit sie der verzögert aufgerufenen Funktion weiterhin zur Verfügung steht.

Mathias