Anna2: Layermenu

Hallo!

Ich probiere gerade an einem Layer-Menu. Leider klappt das nicht so ganz. Die divs, die man öffnet, werden leider nicht wieder geschlossen. Hier einmal der Quelltext:

<html>
<head>
<title></title>
<SCRIPT language=JavaScript>
// HAUPTNAVIGATION
var ns=window.navigator.appName == "Netscape"
var ie=window.navigator.appName == "Microsoft Internet Explorer"
var timer = null;

function schliessen() {
        var items = 1
        for (i=0; i<items; i++) {
                if(ie) document.all.box[i].style.visibility = "hidden";
                if(ns) document.layers[i].visibility = "hide";
        }
}

function oeffnen(x) {
        if(ns) {
                if (timer!=null) clearTimeout(timer);
                timer = setTimeout("schliessen()", 3000);
                showbox= document.layers[x];
                showbox.visibility = "show";
                showbox.top=130;
                var items = 1;
                for (i=0; i<items; i++) {
                        elopen=document.layers[i];
                        if ((elopen.visibility = "show")&&(elopen != showbox)) elopen.visibility = "hide";
                }
        }
        if(ie){
                showbox = document.all.box[x];
                showbox.style.visibility = "visible";
                showbox.style.top =131;
                var items = 1;
                for (i=0; i<items; i++) {
                        elOpen=document.all.box[i];
                        if ((elOpen.style.visibility == "visible")&&(elOpen != showbox)) elOpen.style.visibility = "hidden";
                }
        }
}
        </SCRIPT>

<STYLE type=text/css>
a { font-family:Verdana; font-size:10pt; color:black; text-decoration:none; }
A.navigation {
        FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: Arial; TEXT-DECORATION: none
}
A.navigation:hover {
        TEXT-DECORATION: none
}
A:hover {
        TEXT-DECORATION: underline
}
TD.navigation {
        PADDING-RIGHT: 20px; PADDING-LEFT: 8px
}
TABLE.navigation {
        PADDING-RIGHT: 20px
}
TABLE.navigation {
        FILTER: Alpha(opacity=90, finishopacity=90, style=1)
}
</STYLE>
</head>

<body style="margin:100;">

<SPAN
id=box style="top:10px; VISIBILITY:hidden; POSITION:absolute">
<TABLE class=navigation cellSpacing=0 cellPadding=3 bgColor=#ffe0a7 border=0>
  <TBODY>
  <TR onmouseover="this.style.backgroundColor='#FFC14E'"
  onmouseout="this.style.backgroundColor='#FFE0A7'">
    <TD class=navigation><A class=navigation
      href="">DEMO</A></TD></TR></TBODY></TABLE>
</span>

<SPAN
id=box style="top:10px; VISIBILITY:hidden; POSITION:absolute">
<TABLE class=navigation cellSpacing=0 cellPadding=3 bgColor=#ffe0a7 border=0>
  <TBODY>
  <TR onmouseover="this.style.backgroundColor='#FFC14E'"
  onmouseout="this.style.backgroundColor='#FFE0A7'">
    <TD class=navigation><A class=navigation
      href="">DEMO</A></TD></TR></TBODY></TABLE>
</span>

<TABLE height=42 cellSpacing=0 cellPadding=0 width=702 border=0>
        <TBODY>
        <TR>
          <TD><A onmouseover=oeffnen(0) href="">DEMO</A></TD></TR></TBODY></TABLE>
</body>
</html>

Könnt ihr den Fehler finden?

Danke jedenfalls für eure Hilfe! :)

Anna2

  1. Hallo!

    Ich probiere gerade an einem Layer-Menu. Leider klappt das nicht so ganz. Die divs, die man öffnet, werden leider nicht wieder geschlossen. Hier einmal der Quelltext:

    ...

    <TD><A onmouseover=oeffnen(0) href="">DEMO</A></TD></TR></TBODY></TABLE>
    </body>
    </html>

    Könnt ihr den Fehler finden?

    Ja, hier fehlt ein onouseout.
    ...
              <TD><A onmouseover="oeffnen(0);" onmouseout="schliessen();" href="">DEMO</A></TD></TR></TBODY></TABLE>
    </body>
    </html>

    Danke jedenfalls für eure Hilfe! :)

    Anna2

    Ohne JavaScript-Kenntnisse wirst Du das aber trotzdem nicht zufriedenstellend zum Laufen bringen. Erstmal ist das Script wahrscheinlich älter als die Polizei (W3C) erlaubt. Netscape 6.x und höher werden es gar nicht ausführen. Zweitens ist es syntaktisch sehr kritisch (fehlende Anführungszeichen, fehlende Semikola, GROSSSCHREIBUNG und kleinschreibung wild vermischt...). Du wirst also nicht umhin kommen, Dich langsam (bei SelfHTML) in HTML, CSS und JavaScript einzuarbeiten.

    viele Grüße

    Axel