Dynamische CSS-Navigation für den Internet Explorer
Alexander Boster
- css
Ich möchte das alle Navigatonsebenen vollständig im Internet Explorer auswählbar sind. Bis jetzt zeigt er die Hauptpunkte und die erste Unterliste es gibt aber noch eine weitere Ebene die er nicht einblenden möchte.
Hier mein Quelltext
if(window.navigator.systemLanguage && !window.navigator.language) {
function hoverIE() {
var LI = document.getElementById("Navigation").firstChild;
do {
if (sucheUL(LI.firstChild)) {
LI.onmouseover=einblenden; LI.onmouseout=ausblenden;
}
LI = LI.nextSibling;
}
while(LI);
}
function sucheUL(UL) {
do {
if(UL) UL = UL.nextSibling;
if(UL && UL.nodeName == "UL") return UL;
}
while(UL);
return false;
}
function einblenden() {
var UL = sucheUL(this.firstChild);
UL.style.display = "block"; UL.style.backgroundColor = "#eee";
}
function ausblenden() {
sucheUL(this.firstChild).style.display = "none";
}
window.onload=hoverIE;
}
Ich danke euch für eure Hilfe im voraus
Gruß Alexander
Hoi
Es wäre möglicherweise recht hilfreich, wenn du auch noch den HTML-Quellcode und dazugehörige CSS postest, oder am besten gleich eine Beispielseite. Der Fehler könnte immerhin auch im Markup liegen.
Gruß Ben
Hi,
Es wäre möglicherweise recht hilfreich, wenn du auch noch den HTML-Quellcode und dazugehörige CSS postest, oder am besten gleich eine Beispielseite.
Wer sich das entsprechende Kapitel schonmal angesehen hat, sollte http://de.selfhtml.org/css/layouts/anzeige/nav_javascript.htm auch so erkannt haben. ;-)
Aber es wäre sicherlich besser gewesen, statt dem Quelltext direkt diese Seite zu verlinken.
Der Fehler könnte immerhin auch im Markup liegen.
Wieso Fehler? Das Script ist für eine Navigationsebene konzipiert (zwei Ebenen untereinander wären auch kaum praktikabel) und müßte nur entsprechend erweitert werden. Wobei ich mich wundere, daß eine solche Anfrage erst jetzt kommt...
freundliche Grüße
Ingo
Hallo Ingo
Ich habe gerade deine Webseite besucht und habe mein Java Script duch deins Ersetzt weil ich dachte das Ich ein Zeichen vegessen habe. Aber das wars anscheinet auch nicht.Kannst du mir helfen. so das sich auch die Zweite ebene ausklappt.
Gruß Alexander
if(window.navigator.systemLanguage && !window.navigator.language) {
function hoverIE() {
var LI = document.getElementById("Navigation").firstChild;
do {
if (sucheUL(LI.firstChild)) {
LI.onmouseover=einblenden; LI.onmouseout=ausblenden;
}
LI = LI.nextSibling;
}
while(LI);
}
function sucheUL(UL) {
do {
if(UL) UL = UL.nextSibling;
if(UL && UL.nodeName == "UL") return UL;
}
while(UL);
return false;
}
function einblenden() {
var UL = sucheUL(this.firstChild);
UL.style.display = "block"; UL.style.backgroundColor = "#eee";
}
function ausblenden() {
sucheUL(this.firstChild).style.display = "none";
}
window.onload=hoverIE;
}
Hi,
wie ich schon sagte, handelt es sich um keinen Fehler, sondern ich habe das Script lediglich für eine Verschachtelungsebene konzipiert. Du müßtest es also selbst erweitern oder auf die Suche nach einem fertigen Script für mehrere Ebenen gehen.
Ich hatte bisher keinen Bedarf für eine Erweiterung, da mit zunehmender Verschachtelung mehr Probleme entstehen und die Navigation schnell unter bestimmten Bedingungen unzugänglich werden kann.
freundliche Grüße
Ingo