frage für die mod's

Samuel

Erfahrenes Mitglied
also was ich will:
ich will das beim mouseover ds jeweilige menue eingeblendet wird und die anderen ausgeblendet werden. leider funktioniert das nicht! keine ahnung wieso - ich seh auch keinen fehler im code
die fehlermeldung liegt beim aufruf er sagt mir immer der fehler liegt in der zeile in der das onmouseover steht
hier mal der code:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 

<html> 
<head> 
   <title>Untitled</title> 
   <script language="JavaScript"> 
   function showMenue(divName) { 
     var menues = new Array("menue01", "menue02", "menue03"); 
     var d = document; 
     if(d.layers) { 
       for(var i = 0; i < menues.length; i++) { 
        if(menues[i] == divName) { 
          d.layers[menues[i]].visibility = "show"; 
        } else { 
          d.layers[menues[i]].visibility = "hide"; 
        } 
      } 
     } else if(d.all) { 
       for(var i = 0; i < menues.length; i++) { 
        if(menues[i] == divName) { 
          d.all[menues[i]].style.visibility = "visible; 
        } else { 
          d.all[menues[i]].style.visibility = "hidden"; 
        } 
      } 
     } else if((!d.all)&&(d.getElementById)) { 
       for(var i = 0; i < menues.length; i++) { 
        if(menues[i] == divName) { 
          d.getElementById(menues[i]).style.visibility = "visible"; 
        } else { 
          d.getElementById(menues[i]).style.visibility = "hidden"; 
        } 
      } 
     } 
   } 
   </script> 
</head> 

<body> 
<table cellpadding=0 cellspacing=0 border=0 width=600 bgcolor="#000000"> 
  <tr> 
    <td> 
   <table cellpadding=0 cellspacing=1 border=0 width=600> 
     <tr> 
       <td bgcolor="#c0c0c0" width=200 onmouseover="this.bgColor='#808080'; showMenue('menue01');" onmouseout="this.bgColor='#c0c0c0'">Menue 1</td> 
      <td bgcolor="#c0c0c0" width=200 onmouseover="this.bgColor='#808080'; showMenue('menue02');" onmouseout="this.bgColor='#c0c0c0'">Menue 2</td> 
      <td bgcolor="#c0c0c0" width=200 onmouseover="this.bgColor='#808080'; showMenue('menue03');" onmouseout="this.bgColor='#c0c0c0'">Menue 3</td> 
     </tr> 
   </table> 
   </td> 
  </tr> 
</table> 

<div id="menue01" style="position:absolute; top:40px; left:10px; width:200px; height:100px; background-Color:#CCCCCC; visibility:hidden;">bla</div> 
<div id="menue02" style="position:absolute; top:40px; left:210px; width:200px; height:100px; background-Color:#CCCCCC; visibility:hidden;">bla</div> 
<div id="menue03" style="position:absolute; top:40px; left:410px; width:200px; height:100px; background-Color:#CCCCCC; visibility:hidden;">bla</div> 
</body> 
</html>

danke im voraus
greetZZzz
 
dein Fehler liegt hier am ende dieser Zeile...

Code:
d.all[menues[i]].style.visibility = "visible;

versuchs mal damit, ein bisschen kürzer:

Code:
var menues = new Array("menue01", "menue02", "menue03");
var d = document;

function showMenue(divName)
{
   for( i in menues )
   {
           elm=d.all?d.all[menues[i]].style:d.layers?d.layers[menues[i]]:d.getElementById?d.getElementById(menues[i]).style:0;
           if(menues[i] == divName)
                   elm.visibility = d.layers?"show":"visible";
           else
                   elm.visibility = d.layers?"hide":"hidden";
   }
}
 
danke für deine antwort

danke für die antwort - dein script is wirklich gelungen - hab die funktionen for in garnicht gekannt ;-) jetzt aber wird mir auch weiterhelfen :-)

leider versteh ich immer noch nicht was ich falsch gemacht habe - du sagtest es liegt an der zeile:
Code:
d.all[menues[i]].style.visibility = "visible;
leider weiss ich nicht was daran falsch ist :-(

ich hoffe du kannst mir auch darauf eine antwort geben

greetZZzz
 
erm

Code:
d.all[menues[i]].style.visibility = "visible";

denk ich mal ...
 

Neue Beiträge

Zurück