a) wie muss obiges Script richtig abgeschlossen/verändert werden, das es in Bereitschaft ist mit laden der Seite
Du bindest es wie gewohnt im Head der Seite via script-Element ein.
b) wie rufe ich anschliessend im Link die Funktion korrekt auf?
Jetzt wird's ein bisschen diffiziler :)
"Unobstrusive Javascript" sollte dir ein Begriff sein, ansonsten siehe den hervorragenden Beitrag von molily im Weblog.
Du hast verschiedene Links, denen du via onmouseover eine bestimmte Funktionalität zukommen lassen möchtest (ich nenne die Funktion mal ein_ausblenden). Damit die Funktion weiß, was sie ein- bzw. auszublenden hat, musst du ihr einen Parameter übergeben, anhand dessen erkannt wird, in welchem Kontext wir uns befinden. Das könnte z.B. vom HTML her so aussehen:
<ul id="navigation">
<li><a name="link1" href="seite1.html">Seite 1</a></li>
<li><a name="link2" href="seite2.html">Seite 1</a></li>
<li><a name="link3" href="seite3.html">Seite 1</a></li>
</ul>
Hier gibt es keinerlei Eventhandler, diese fügst du dynamisch nach Laden der Seite hinzu. Beim Einbinden der JS-Datei im Headbereich werden alle direkt notierten Anweisungen ausgeführt, das ist wichtig zu wissen. Dein JS könnte dann z.B. so aussehen:
function ein_ausblenden(was) {
// in 'was' steht der Name des Links, der onmouseover ausgelöst hat
// in Abhängigkeit davon manipulierst du den Text
// und blendest das manipulierte DIV ein
}
// diese Funktion verpasst allen Links ein onmouseover
function addMouseEventsToLinks() {
var prevLink = '';
var linkColl = document.getElementById('navigation').getElementsByTagName('a');
for(i=0; i<linkColl.length;i++) {
linkColl[i].onmouseover = function() { ein_ausblenden(this.name); }
}
}
// nach Laden der Seite führe addMouseEventsToLinks aus
window.onload = addMouseEventsToLinks;
Lies den Code von unten nach oben, um ihn zu verstehen.
c) wie verkette ich die einezlenen Anweisungen bei onMouseover? (.innerHTML Text wechseln UND Aufruf der Funktion zum aufklappen)?
Zuerst manipulierst du den Inhalt, dann klappst du auf.
d) Kann ich zwei onMouseOver-Events aufmachen und zwei onMouseOut-Events in einem Link die chronologisch abgearbeitet werden?
Ja, in den Eventhandler-Attributen steht stinknormales Javascript drin. Besser wäre es m.E., nur eine Funktion zuzuweisen und diese dann alle Arbeiten erledigen zu lassen.
e) es hat bei mir noch nicht wirklich "Klick" gemacht, wann ich in Anweisungen Bereiche mit ' ' oder mit " " einschliesse.
Das ist in JS eigentlich egal, da es keine Interpolation gibt. Wichtig ist nur, dass du die Anführungszeichen richtig verschachtelst oder maskierst.
Siechfred