lisa74: Drop Down Menü

Beitrag lesen

Hallo Struppi,

navRoot = document.getElementById("wrapNav");

for (i = 0; i < navRoot.childNodes.length; i++) {

globale Schleifenvariabeln, das schlimmste was du machen kannst.

Warum, verstehe ich nicht ganz?

Überhaupt solltest du die Variabeln immer mit var lokal machen, dann können sie sich nicht in die Quere kommen.

Wie kann ich die var navRoot = "wrapNav"; oben einbauen?

Hier würde ich mal testen ob LI überhaupt Grossgeschrieben wird oder zur Sicherheit gleich:
if (node.nodeName.toUpperCase() == "LI") {

Wenn ich  LI klein schreibe geht nichts mehr!

Wobei, warum benutzt du nicht getElementsByTagName()?

ich glaube ich bin jetzt völlig verwirrt.

kannst du mit nicht bitte mal ein beispiel in bezug auf mein script posten?

das währe echt nett.

habe es soweit verändert wie ich es verstanden habe.
var navRoot = "wrapNav";

navtop = function() {

if (document.getElementById) {
 navRoot = document.getElementById("wrapNav");

for (i = 0; i < navRoot.childNodes.length; i++) {
  node = navRoot.childNodes[i];

if (node.nodeName.toUpperCase() == "LI") {
   node.onmouseover = function() {

this.className+= " over";
     }
      node.onmouseout = function() {
      this.className = this.className.replace(" over", "");
    }
   }
  }
 }
}
window.onload = navtop;