Hallo Georg,
Mir ist klar, was hier passiert, bloß frage ich mich, wofür jeweils das abschließende "return true;" da ist.
Die Bedeutung von return hat dir Wowbagger ja schon erklaert.
return ist ein festes JavaScript-Statement, so wie etwa break oder next innerhalb einer Schleife. Dabei kann dahinter ein Wert notiert werden. So kann man z.B. relativ abstrakte, wiederverwendbare Funktionen schreiben. Beispiel:
function hochDrei(Zahl)
{
return Zahl*Zahl*Zahl;
}
Das kann man dann ganz bequem verwenden in Befehlen wie:
hochDrei(26);
true und false sind spezielle reservierte Rueckgabewerte. Intern entsprechen sie auch Zahlen, aber sie machen den Code besser lesbar. Sinn und Zweck kannst du mal an folgender Funktion sehen:
function allesGeladen()
{
for(i=0;i<document.images.length;i++)
if(! document.images[i].complete)
return false;
return true;
}
Diese Funktion, die prueft, ob alle Bilder einer Seite geladen sind, kann wiederum so eingesetzt werden:
if(allesGeladen())
TuWasTolles();
Was das return true in dem von dir geposteten Beispiel soll, da bin ich mir auch nicht ganz sicher. Ich vermute, damit wird der "Zustand" onMouseover bzw. onMouseout, nachdem er eben nicht mehr aktuell ist, "offiziell" fuer beendet erklaert. Es gibt bei der Event-Programmierung von Netscape immer auch Funktionen namens releaseEvents() - die tun etwas Aehnliches: sie beenden einfach den Zustand einer Ereignisueberwachung explizit, was erforderlich ist, damit die gleiche Ueberwachung wieder von vorne beginnen und neu initialisiert werden kann.
Bei onMouseover und onMouseout machen die Browser das meines Wissens aber alle auch von alleine - ohne die explizite return-Angabe.
viele Gruesse
Stefan Muenz