karinsch: layer - menü

hallo!

wer kann mir bitte bei diesem menü helfen? ich hab da probleme mit dem "show" und "hide"...
vielen dank im voraus für eure hilfe!!
das wär das script:

<html>
<head>
<title></title>
</head>
<body bgcolor="#ffffff" topmargin="4">
<script language="JavaScript">
<!--
function clean ()
{
  if ((navigator.appName=='Netscape') && (navigator.appVersion.charAt (0)<'5'))
  {
  window.document.m1.visibility="hide";
  window.document.m2.visibility="hide";
  window.document.m3.visibility="hide";
  window.document.m4.visibility="hide";
  return;
  }
 if (navigator.appVersion.charAt (0)<'5')
    {
    var layers=document.all.tags ("div");
    }
    else {
    var layers=document.getElementsByTagName("div");
    }
 layers[0].style.visibility='hidden';
 layers[2].style.visibility='hidden';
 layers[4].style.visibility='hidden';
 layers[6].style.visibility='hidden';
 layers[8].style.visibility='hidden';
 return;
}

function menu (i)
{

switch(i)
 {
  case 1:
   {
    if ((navigator.appName=='Netscape') && (navigator.appVersion.charAt(0)<'5'))
     {
      window.document.m1.visibility="show";
      window.document.m2.visibility="hide";
      window.document.m3.visibility="show";
      window.document.m4.visibility="hide";
     return;
     }
    if (navigator.appVersion.charAt (0)<'5')
    {
    var layers=document.all.tags ("div");
    }
    else {
    var layers=document.getElementsByTagName("div");
    }
    layers[0].style.visibility='visible';
    layers[2].style.visibility='visible';
    layers[4].style.visibility='hidden';
    layers[6].style.visibility='hidden';
    layers[8].style.visibility='visible';
    return;
   }
  case 2:
   {
    if ((navigator.appName=='Netscape') && (navigator.appVersion.charAt(0)<'5'))
     {
     window.document.m1.visibility="hide";
     window.document.m2.visibility="show";
     window.document.m3.visibility="hide";
     window.document.m4.visibility="show";
     return;
     }
    if (navigator.appVersion.charAt (0)<'5')
    {
    var layers=document.all.tags ("div");
    }
    else {
    var layers=document.getElementsByTagName("div");
    }
    layers[0].style.visibility='visible';
    layers[2].style.visibility='hidden';
    layers[4].style.visibility='visible';
    layers[6].style.visibility='hidden';
    layers[8].style.visibility='visible';
    return;
   }
  case 3:
   {
    if ((navigator.appName=='Netscape') && (navigator.appVersion.charAt(0)<'5'))
     {
     window.document.m1.visibility="hide";
     window.document.m2.visibility="hide";
     window.document.m3.visibility="show";
     window.document.m4.visibility="show";
     return;
     }
    if (navigator.appVersion.charAt (0)<'5')
    {
    var layers=document.all.tags ("div");
    }
    else {
    var layers=document.getElementsByTagName("div");
    }
    layers[0].style.visibility='visible';
    layers[2].style.visibility='hidden';
    layers[4].style.visibility='visible';
    layers[6].style.visibility='hidden';
    layers[8].style.visibility='visible';
    return;
   }
 }

}
//-->
</script>

<div id="b" style="position:absolute; left:30; top:5; width:340; height:170; z-index:1; visibility: hidden;">
<a href="#" onmouseover="clean()" onmouseout="clean()"></a>
</div>

<div id="h1" style="position:absolute; left:215; top:5; z-index:2; visibility: visible; background-color=#FEFCE6">
<a href="#" onmouseover="menu(1)">Menu 1</a>
</div>

<div id="m1" style="position:absolute; left:215; top:25; z-index:3; visibility: hidden; background-color=#FEFCE6" >
<a href="#">Punkt 1</a><br>
<a href="#">Punkt 2</a><br>
<a href="#">Punkt 3</a><br>
<a href="#">Punkt 4</a>
</div>

<div id="h2" style="position:absolute; left:300; top:5; z-index:4; visibility: visible; background-color=#FEFCE6">
<a href="#" onmouseover="menu(2)">Menu 2</a></div>

<div id="m2" style="position:absolute; left:300; top:25; z-index:5; visibility: hidden; background-color=#FEFCE6">
<a href="#">Punkt 1</a><br>
<a href="#">Punkt 2</a><br>
<a href="#">Punkt 3</a><br>
<a href="#">Punkt 4</a>
</div>

<div id="h3" style="position:absolute; left:350; top:5; z-index:6; background-color=#FEFCE6">
<a href="#" onmouseover="menu(3)">Menu 3</a>
</div>

<div id="m3" style="position:absolute; left:350; top:25; z-index:7; visibility: hidden; background-color=#FEFCE6">
<a href="#">Punkt 1</a><br>
<a href="#">Punkt 2</a><br>
<a href="#">Punkt 3</a><br>
<a href="#">Punkt 4</a>
</div>

<div id="h4" style="position:absolute; left:400; top:5; z-index:8; background-color=#FEFCE6">
<a href="#" onmouseover="menu(4)">Menu 4</a>
</div>

<div id="m4" style="position:absolute; left:400; top:25; z-index:9; visibility: hidden; background-color=#FEFCE6">
<a href="#">Punkt 1</a><br>
<a href="#">Punkt 2</a><br>
<a href="#">Punkt 3</a><br>
<a href="#">Punkt 4</a>
</div>
<table border="0" cellpadding="0">
 <tr>
  <td width="215"> </td>
  <td bgcolor="#FEFCE6" width="500"> </td>
 </tr>
</table>
</body>
</html>

  1. Hi!

    Und was hast Du für Probleme? Wir im Forum können nicht hellsehen ;)
    Der Code ist ziemlich üblel, wirkt wie ein quick and dirty Hack. Ein ähnliches Chaos offenbart sich auch nach dem Speichern und Ausführen des Codes...

    Dein Problem ist wohl, dass die Untermenüs nicht
    so eingeblendet werden, wie es eigentlich gedacht ist:

    layers[0].style.visibility='visible';
        layers[2].style.visibility='visible';
        layers[4].style.visibility='hidden';
        layers[6].style.visibility='hidden';
        layers[8].style.visibility='visible';

    Was soll das? Bei so einem Mist kann nur Chaos entstehen. Man muß immer erst abzählen, welcher Index sich auf welches Menü bezieht. Für eine Referenz nimmt man besser die Layer-ID's...

    Gruß
    Danny

    1. Ich hab den code wo rauskopiert. Nur wollte ich jetzt noch buttons dazufügen, und jetzt hab ich das Problem, dass mir die untermenüs falsch angezeigt werden, d.h. wenn ich zB über "Menü1" drüberfahre, dann geht automatisch auch das Untermenü von "Menü4" auf, usw.

      Kenn mich selber leider nicht wirklich damit aus...

      1. Mahlzeit!

        Hast Glück, ich hab heut meinen sozialen Tag ;)
        Du kriegst gleich eine funktionierende Version per Mail...

        1. Das wär super! Dankeschön!
          Meine E-Mail Adresse: schlumpfiii@hotmail.com