css+div做的菜单:一个主显示层,别的列表都隐藏着,用js函数设置列表的显示和隐藏。分别用到了两个函数,函数实现的效果是一样的,一个是参考的《css+Dhtml精髓》书上的事例,一个是找的函数。
第一个函数
              function showMenu(layerName)
              {
                     // show the layer the user wants to see
                     eval(layerRef + layerName + endLayerRef + styleRef + ".visibility = 'visible'");
                     }
              function hiddenMenu(layerName)
              {
                     // hidden the layer  
                     eval(layerRef + layerName + endLayerRef + styleRef + ".visibility = 'hidden'");
                     }
                     
                     //第一个函数
                     
第二个函数
function MM_showHideLayers()
       {
              var i,p,v,obj,args=MM_showHideLayers.arguments;
              for (i=0; i<(args.length-2); i+=3)
                     if ((obj=MM_findObj(args[i]))!=null)
                     {
                            v=args[i+2];
                            if (obj.style)
                            {
                                   obj=obj.style;
                                   v=(v=='show')?'visible'v='hide')?'hidden':v;
                            }
                            obj.visibility=v;
                     }
       }

         function MM_findObj(n, d)
       {
              var p,i,x;
              if(!d)
                     d=document;
              if((p=n.indexOf("?"))>0&&parent.frames.length)
              {
                     d=parent.frames[n.substring(p+1)].document;
                     n=n.substring(0,p);
              }
              if(!(x=d[n])&&d.all)
                     x=d.all[n];
              for (i=0;!x&&i<d.forms.length;i++)
                     x=d.forms[i][n];
              for(i=0;!x&&d.layers&&i<d.layers.length;i++)
                     x=MM_findObj(n,d.layers[i].document);
              if(!x && document.getElementById)
                     x=document.getElementById(n);
              return x;
       }
       //第二个函数


<font color=red>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>菜单</title>
 <style type="text/css">
 <!--
  *{margin:0;padding:0;border:0;}
 body {
 background: #fff;
 font-size: 14px;
 font-family: "宋体";
}
#nav{
 border:#FF0099 solid 3px;
 position:absolute;
 top:30px;
 left:50px;
 width:150px;
 height:300px;
 
 }
 
#ul {
 position:absolute;
 top:30px;
 list-style-type:none;
 line-height:24px;
 background-color:#fff;
 width:149px;
 text-align:center;
 float: none;
}
 #ul a:link{
 text-decoration:none;
  line-height:24px;
 color:#666;
 text-align:center;
 text-decoration:none;
  display:block;
  width:150px;
 }
 #ul a:visited{
 line-height:24px;
 color:#666;
 text-align:center;
 text-decoration:none;
  display:block;
  width:150px;
/*直设这个宽度就行*/
   /*设置宽度,IE浏览器。虽然设置了block,但是还只是文字为超链接,所以得显式设置宽度*/
 }
 
#ul a:hover  {
 text-decoration:none;
 color:#FF2a84;
}
 /*#ul li{
 display:inline;/*IE会让LI上下有空白,去掉空白
 }*/
 /*水果层*/
#shui {
 position:absolute;
 left: 200px;
 top: 50px;
 border: #66FFCC  solid;
  height:210px;
 border-width: 2px 2px 2px 18px;
 text-align:center;
 list-style-type:none;
 line-height: 20px;
 visibility: hidden;
 background-color:#fff;/*不设背景色,层容易断裂 */
}
 
 #shui a:link{
 color: #666;
 text-decoration: none;
 display:block;
 width:100px;/*不能用#nav a:link,a:visited,这样会找不到第二种,第二种不继承*/
  }
 #shui a:visited{
 color: #666;
 text-decoration: none;
 display:block;
 width:100px;/*不能用#nav a:link,a:visited,这样会找不到第二种,第二种不继承*/
 
 }
#shui a:hover  {
text-decoration:none;
 color:#0cc;
}
 
#hua {
 position:absolute;
 left: 200px;
 top: 55px;
 border: #C06 solid;
    height:170px;
 border-width: 2px 2px 2px 18px;
 text-align:center;
 list-style-type:none;
 line-height: 20px;
 visibility: hidden;
 background-color:#fff;
 
}
 
  #hua  a:link{
 color: #666;
 text-decoration: none;
 display:block;
 width:100px;
 
}
 #hua  a:visited{
 color: #666;
 text-decoration: none;
 display:block;
 width:100px;
 
}
#hua a:hover  {
text-decoration:none;
 color:#C06;
}
 #che {
 position: absolute;
 left: 200px;
 top: 60px;
 border: #6c3 solid;
 border-width: 2px 2px 2px 18px;
 text-align:center;
 list-style-type:none;
 line-height: 20px;
 visibility: hidden;
 background-color:#fff;
}
 #che a:link{
 color: #666;
 text-decoration: none;
 display:block;
 width:100px;
 }
 #che a:visited{
 color: #666;
 text-decoration: none;
 display:block;
 width:100px;
 }
#che a:hover  {
text-decoration:none;
 color:#6c3;
}
 
-->
 </style>
 
 <script language="javascript">//判断浏览器
  browser = navigator.appName;
  browserNum = parseInt(navigator.appVersion);
  
  if ((browser == "Netscape") && (browserNum < 5))
  {
   // Netscape 4.x
   layerRef = "document.layers['";
   endLayerRef = "']";
   styleRef = "";
  }
  else if ((browser == "Netscape") && (browserNum >= 5))
  {
   // Netscape 6
   layerRef = "document.getElementById('";
   styleRef = ".style";
   endLayerRef = "')";
  }
  else
  {
   // Internet Explorer
   layerRef = "document.all['";
   endLayerRef = "']";
   styleRef = ".style";
  }
 //第一个函数
  function showMenu(layerName)
  {
   // show the layer the user wants to see
   eval(layerRef + layerName + endLayerRef + styleRef + ".visibility = 'visible'");
   }
  function hiddenMenu(layerName)
  {
   // hidden the layer 
   eval(layerRef + layerName + endLayerRef + styleRef + ".visibility = 'hidden'");
   }
   
   //第一个函数
   
   //第二个函数
    function MM_showHideLayers()
 {
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3)
   if ((obj=MM_findObj(args[i]))!=null)
   {
    v=args[i+2];
    if (obj.style)
    {
     obj=obj.style;
     v=(v=='show')?'visible':(v='hide')?'hidden':v;
    }
    obj.visibility=v;
   }
 }
   function MM_findObj(n, d)
 {
  var p,i,x;
  if(!d)
   d=document;
  if((p=n.indexOf("?"))>0&&parent.frames.length)
  {
   d=parent.frames[n.substring(p+1)].document;
   n=n.substring(0,p);
  }
  if(!(x=d[n])&&d.all)
   x=d.all[n];
  for (i=0;!x&&i<d.forms.length;i++)
   x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++)
   x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById)
   x=document.getElementById(n);
  return x;
 }
 //第二个函数
   </script>
   
   
</head>
<body>
 <div id="nav">
 <ul id="ul">
 
 <!--调用第一个函数-->
<li><a href="#" onMouseOver="javascript:showMenu('shui')";
  onMouseOut="javascript:hiddenMenu('shui')"  >水果/水果</a> </li>
 <!--调用第二个函数--> 
<li><a href="#"   onmouseover="javascript:MM_showHideLayers('hua','','show')";
                onmouseout="javascript:MM_showHideLayers('hua','','hide')">花卉/花卉/花卉</a></li>
    
  <!--下面都是调用第二个函数-->    
<li><a href="#"  onmouseover="javascript:MM_showHideLayers('che','','show')";
                onmouseout="javascript:MM_showHideLayers('che','','hide')">汽车/汽车</a></li>
<li><a href="#" onmouseover="javascript:MM_showHideLayers('shui','','show')";
                onmouseout="javascript:MM_showHideLayers('shui','','hide')">水果2</a></li>
<li><a href="#" onmouseover="javascript:MM_showHideLayers('hua','','show')";
                onmouseout="javascript:MM_showHideLayers('hua','','hide')" >花卉/花卉/花卉2</a></li>
<li><a href="#" onmouseover="javascript:MM_showHideLayers('che','','show')";
                onmouseout="javascript:MM_showHideLayers('che','','hide')">汽车/汽车2</a></li>
<li><a href="#" onmouseover="javascript:MM_showHideLayers('shui','','show')";
                onmouseout="javascript:MM_showHideLayers('shui','','hide')">水果3</a></li>
<li><a href="#" onmouseover="javascript:MM_showHideLayers('hua','','show')";
                onmouseout="javascript:MM_showHideLayers('hua','','hide')">花卉/花卉3</a></li>
<li><a href="#" onmouseover="javascript:MM_showHideLayers('che','','show')";
                onmouseout="javascript:MM_showHideLayers('che','','hide')">汽车/汽车/汽车3</a></li>
</ul>
 </div>
 
 
<ul  id="shui"  onMouseOver="javascript:showMenu('shui')";
  onMouseOut="javascript:hiddenMenu('shui')" >
<li><a href="#" >苹果</a></li>
<li><a href="#" >香蕉</a></li>
<li><a href="#" >猕猴桃</a></li>
<li><a href="#" >火龙果</a></li>
<li><a href="#" >苹果2</a></li>
<li><a href="#" >香蕉2</a></li>
<li><a href="#" >猕猴桃2</a></li>
<li><a href="#" >火龙果2</a></li>
<li><a href="#" >猕猴桃3</a></li>
<li><a href="#" >火龙果3</a></li>
</ul>
<ul  id="hua"   onmouseover="javascript:MM_showHideLayers('hua','','show')";
                onmouseout="javascript:MM_showHideLayers('hua','','hide')">
<li><a href="#" >菊花</a></li>
<li><a href="#" >玫瑰</a></li>
<li><a href="#" >牡丹</a></li>
<li><a href="#" >茉莉</a></li>
<li><a href="#" >君子兰</a></li>
<li><a href="#" >虞美人</a></li>
<li><a href="#" >喇叭花2</a></li>
<li><a href="#" >桂花2</a></li>
</ul>
<ul  id="che"  onmouseover="javascript:MM_showHideLayers('che','','show')";
                onmouseout="javascript:MM_showHideLayers('che','','hide')">
<li><a href="#" >大众</a></li>
<li><a href="#" >奥迪</a></li>
<li><a href="#" >宝马</a></li>
<li><a href="#" >奔驰</a></li>
<li><a href="#" >保时捷</a></li>
<li><a href="#" >福特</a></li>
<li><a href="#" >克莱斯勒</a></li>
<li><a href="#" >法拉利</a></li>
<li><a href="#" >克莱斯勒2</a></li>
<li><a href="#" >法拉利2</a></li>
</ul>
 
 
</body>
</html>
</font>