Hi Leute,
ich generiere in'ner externen Javascript Datei folgenden Code (Menü für 'ne Flash Weiche; hier mal nur ein Navigationspunkt; styling der XHTML/ PHP über externe CSS Datei):
document.write("<ul id="navlist">");
document.write("<li><a href="#" id="nav01">Seite</a></li>");
document.write("</ul>");
Wird dann per Javascript in die PHP gerufen, läuft auch alles normal. Aber: Mit folgenden Funktionen (auch in der obigen Javascript-Datei) wollte ich sowohl für die UL im Hintergrund als auch für die HREFs mouseover-Effekte via CSS Hintergundbild-Verschiebung erreichen:
function setListBg(evt) {
list.style.backgroundPosition = "0 0";
single.style.backgroundPosition = "0 -15px";
}
function setSingleBg(evt) {
list.style.backgroundPosition = "0 0";
single.style.backgroundPosition = "0 -30px";
}
function clearListBg(evt) {
list.style.backgroundPosition = "0 -26px";
single.style.backgroundPosition = "0 0";
}
function init(){
list = document.getElementById("navlist");
single = document.getElementById("nav01");
list.onmouseover = setListBg;
single.onmouseover = setSingleBg;
list.onmouseout = clearListBg;
}
window.onload = init;
Die erste Funktion wird für beide Elemente ausgeführt, die zweite für die HREFs nicht mehr (jedenfalls nicht sichtbar). Die clear Funktion geht allerdings. Firefox Konsole keine Fehler. Vielleicht handelt es sich eigentlich um ein CSS- oder Laufzeitproblem? Bei nicht verschachtelten bzw. parent - child Boxen gibts keine Probleme. Falls jemand einen Fehler sieht oder 'ne elegantere Lösung hat... Wär sehr nett!
Gruß
Antipitch