全仿真微软菜单
这个是我们制作的全仿真微软菜单,效果见上面, (其中前面两行菜单是完全效果,后面的为了您研究代码方便,做了简化),和微软IE5.0的菜单是不是很象呢您可以 按我下面的教程,完成一个自己的菜单。这个菜单主要通过css和javascipt以及层的结合使用。css控制菜单和导航栏的 显示格式,javascipt以及层控制了菜单的交替显示。 您可以在您的页面里将下面代码粘在<head> 和</head>之间:

<style type="text/css"><!-- A:link {text-decoration: none; color:#000000}
   A:visited {text-decoration: none; color: #000000}
   A:active {text-decoration: none; color: #000000}
   A:hover {text-decoration: underline; color: #000000;}
    body{font-size=9ptline-height: 20pt}
    TH{FONT-SIZE: 9pt}
      TD{ FONT-SIZE: 9pt}
A.flashcat1 {
TEXT-DECORATION: underline
}
A.flashcat2 { COLOR: black}
A.flashcat2:hover {text-decoration: none; COLOR: black }
A.flashcat2:active {text-decoration: none; COLOR: black }
A.menutext { COLOR: black}
A.menutext:hover {text-decoration: none; COLOR: white }
A.menutext:active {text-decoration: none; COLOR: white }



.menublue {text-decoration: none; COLOR: #FFFFFF; background-color: #000066}
.outbar {
BORDER-BOTTOM: white 2px solid; BORDER-LEFT: white 2px solid; BORDER-RIGHT: white 2px solid; BORDER-TOP: white 2px solid; CURSOR: nw-resize; FONT-SIZE: 9pt;FONT-FAMILY: "宋体"; LINE-HEIGHT: 9pt; TEXT-DECORATION: none
; border-color: #999999 #FFFFFF #FFFFFF #999999; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px}
.onbar {
BORDER-BOTTOM: #003399 2px solid; BORDER-LEFT: #99ccff 2px solid; BORDER-RIGHT: #003399 2px solid; BORDER-TOP: #99ccff 2px solid; CURSOR: nw-resize; FONT-SIZE: 9pt;FONT-FAMILY: "宋体"; LINE-HEIGHT: 9pt; TEXT-DECORATION: none;
; border-color: #FFFFFF #999999 #999999 #FFFFFF; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px}
.none {text-decoration: none; color:#000000}
.tableright { border-color: #FFFFFF #CCCCCC #666666; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 2px; border-left-width: 1px}
.menu { background-color: #CCCCCC; BORDER-BOTTOM: #999999 4px solid; BORDER-LEFT: #99999 4px solid; BORDER-RIGHT: #99999 4px solid; BORDER-TOP: #999999 4px solid; CURSOR: nw-resize; FONT-SIZE: 9pt;FONT-FAMILY: "宋体"; LINE-HEIGHT: 9pt; TEXT-DECORATION: none;
; border-color: #FFFFFF #666666 #666666 #FFFFFF; border-style: solid; border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px}
.none {text-decoration: none; color:#000000-->

</style>
<script language="JavaScript">
<!--
function MM_findObj(n, d) { //v3.0
 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); return x;
}

function MM_showHideLayers() { //v3.0
 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; }
}
//-->
</script>



然后将以下代码粘在<body> 和</body>之间:

<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#CCCCCC">
 <tr>
  <td class="tableright">
   <hr size="2" >
   <table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableright" height="2">
    &nbsp;
   </table>
  </td>
 </tr>
</table>

<div id="Layer1" style="position:absolute; width:11px; height:29px; z-index:1; left: 2px; top: 4px" >
 <hr size="18" width="2" align="left">
</div>

<div id="bar" style="position:absolute; width:400px; height:14px; z-index:1; left: 13px; top: 10px">
 <table border="1" cellpadding="1" cellspacing="0" bordercolordark="#CCCCCC" bordercolorlight="#CCCCCC">
  <tr>
    <td  id=item1 language=JScript
onMousedown="this.className='outbar'"
onMouseOver="this.className='onbar'"
onMouseOut="this.className='none'">
    <div align="center"><a class=flashcat2 href="http://www.paladinland.com" target="_blank" onMouseOver="MM_showHideLayers('menu1','','show','menu2','','hide','menu3','','hide','menu5','','hide','menu4','','hide','vicemenu1','','hide')">
     侠客岛 </a></div>
   </td>
    <td  id=item1 language=JScript
onMousedown="this.className='outbar'"
onMouseOver="this.className='onbar'"
onMouseOut="this.className='none'">
    <div align="center"><a class=flashcat2 href="http://www.paladinland.com/cgi-bin/Ultimate.cgi?action=intro&amp;BypassCookie=true" target="_blank" onMouseOver="MM_showHideLayers('menu1','','hide','menu2','','show','menu3','','hide','menu5','','hide','menu4','','hide','vicemenu1','','hide')">
     侠客岛论坛 </a></div>
   </td>
   <td  id=item1 language=JScript
onMousedown="this.className='outbar'"
onMouseOver="this.className='onbar'"
onMouseOut="this.className='none'">
    <div align="center"><a class=flashcat2 href="../tutors.htm" target="_blank" onMouseOver="MM_showHideLayers('menu1','','hide','menu2','','hide','menu3','','show','menu5','','hide','menu4','','hide','vicemenu1','','hide')">
     侠客密籍 </a></div>
   </td>
    <td  id=item1 language=JScript
onMousedown="this.className='outbar'"
onMouseOver="this.className='onbar'"
onMouseOut="this.className='none'">
    <div align="center"><a class=flashcat2 href="../codes.htm" target="_blank" onMouseOver="MM_showHideLayers('menu1','','hide','menu2','','hide','menu3','','hide','menu5','','hide','menu4','','show','vicemenu1','','hide')">
     侠客代码 </a></div>
   </td>
    <td  id=item1 language=JScript
onMousedown="this.className='outbar'"
onMouseOver="this.className='onbar'"
onMouseOut="this.className='none'">
    <div align="center"><a class=flashcat2 href="../resorce.htm" target="_blank" onMouseOver="MM_showHideLayers('menu1','','hide','menu2','','hide','menu3','','hide','menu4','','hide','menu5','','show','vicemenu1','','hide')">
     侠客资源 </a></div>
   </td>
    <td  id=item1 language=JScript
onMousedown="this.className='outbar'"
onMouseOver="this.className='onbar'"
onMouseOut="this.className='none'">
    <div align="center"><a class=flashcat2 href="../works.htm" target="_blank" onMouseOver="MM_showHideLayers('menu1','','hide','menu2','','hide','menu3','','hide','menu5','','hide','menu4','','hide','vicemenu1','','hide')">
     侠客作品 </a></div>
   </td>
   <td>&nbsp;</td>
  </tr>
 </table>
</div>
<div id="menu1" style="position:absolute; width:134px; height:103px; z-index:2; left: 14px; top: 27px; visibility: hidden" class="menu">
 <table border="0" width="100%" cellpadding="2" cellspacing="0">
  <tr>
   <td  id=item2 language=JScript
onMousedown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"> <a class=menutext href="#" onMouseOver="MM_showHideLayers('menu2','','hide','menu3','','hide','menu5','','hide','menu4','','hide','vicemenu1','','show')">&nbsp;&nbsp;侠客岛各派掌门&nbsp;&nbsp;&nbsp;<font size="1">▲</font>
    </a> </td>
  </tr>
  <tr>
   <td  id=item2 language=JScript
onMousedown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"> <a class=menutext href="../aboutus.htm" target="_blank" onMouseOver="MM_showHideLayers('vicemenu1','','hide')">&nbsp;&nbsp;关于侠客岛&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </a> </td>
  </tr>
  <tr>
   <td>
    <hr>
   </td>
  </tr>
  <tr>
   <td  id=item2 language=JScript
onMousedown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"> <a class=menutext href="mailto:[email protected]">&nbsp;&nbsp;联系我们&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </a> </td>
  </tr>
  <tr>
   <td  id=item2 language=JScript
onMousedown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"> <a class=menutext href="mailto:[email protected]?subect=join">&nbsp;&nbsp;加盟&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>
   </td>
  </tr>
  <tr>
   <td  id=item2 language=JScript
onMousedown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"> <a class=menutext href="mailto:[email protected]?subect=donate">&nbsp;&nbsp;投稿&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </a> </td>
  </tr>
 </table>
</div>
<div id="menu2" style="position:absolute; width:134px; height:176px; z-index:2; left: 56px; top: 27px; visibility: hidden" class="menu">
 <table border="0" width="100%" cellpadding="2" cellspacing="0">
  <tr>
   <td  id=item2 language=JScript
onMouseDown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"> <a class=menutext href="http://www.paladinland.com/cgi-bin/forumdisplay.cgi?action=topics&forum=网页制造演武场&number=1&DaysPrune=10&LastLogin=" target="_blank">&nbsp;&nbsp;网页制作演武场&nbsp;&nbsp;&nbsp;&nbsp;</a>
   </td>
  </tr>
  <tr>
   <td  id=item2 language=JScript
onMouseDown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"> <a class=menutext href="http://www.paladinland.com/cgi-bin/forumdisplay.cgi?action=topics&forum=flash小筑&number=2&DaysPrune=10&LastLogin=" target="_blank">&nbsp;&nbsp;flash小筑&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </a> </td>
  </tr>
  <tr>
   <td  id=item2 language=JScript
onMouseDown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"> <a class=menutext href="http://www.paladinland.com/cgi-bin/forumdisplay.cgi?action=topics&forum=后台技术分舵&number=3&DaysPrune=10&LastLogin=" target="_blank">&nbsp;&nbsp;后台技术分舵&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </a></td>
  </tr>
  <tr>
   <td  id=item2 language=JScript
onMouseDown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"> <a class=menutext href="http://www.paladinland.com/cgi-bin/forumdisplay.cgi?action=topics&forum=平面雅居&number=4&DaysPrune=10&LastLogin="target="_blank">&nbsp;&nbsp;平面雅居&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>
   </td>
  </tr>
  <tr>
   <td  id=item2 language=JScript
onMouseDown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"> <a class=menutext href="http://www.paladinland.com/cgi-bin/forumdisplay.cgi?action=topics&forum=3D山庄&number=5&DaysPrune=10&LastLogin=" target="_blank">&nbsp;&nbsp;3D山庄&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </a> </td>
  </tr>
  <tr>
   <td  id=item2 language=JScript
onMouseDown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"><a class=menutext href="http://www.paladinland.com/cgi-bin/forumdisplay.cgi?action=topics&forum=多媒体一族&number=6&DaysPrune=10&LastLogin=" target="_blank">&nbsp;&nbsp;多媒体一族&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </a></td>
  </tr>
  <tr>
   <td  id=item2 language=JScript
onMouseDown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"><a class=menutext href="http://www.paladinland.com/cgi-bin/forumdisplay.cgi?action=topics&forum=兵器谱&number=7&DaysPrune=10&LastLogin=" target="_blank">&nbsp;&nbsp;兵器谱&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </a> </td>
  </tr>
  <tr>
   <td  id=item2 language=JScript
onMouseDown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"><a class=menutext href="http://www.paladinland.com/cgi-bin/forumdisplay.cgi?action=topics&forum=作品与资源&number=8&DaysPrune=10&LastLogin=" target="_blank">&nbsp;&nbsp;作品与资源&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </a> </td>
  </tr>
  <tr>
   <td  id=item2 language=JScript
onMouseDown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"><a class=menutext href="http://www.paladinland.com/cgi-bin/forumdisplay.cgi?action=topics&forum=灌水腊八粥&number=9&DaysPrune=10&LastLogin=" target="_blank">&nbsp;&nbsp;灌水腊八粥&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </a> </td>
  </tr>
  <tr>
   <td  id=item2 language=JScript
onMouseDown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"><a class=menutext href="http://www.paladinland.com/cgi-bin/forumdisplay.cgi?action=topics&forum=侠客岛聚义厅&number=10&DaysPrune=10&LastLogin=" target="_blank">&nbsp;&nbsp;侠客岛聚义厅&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </a> </td>
  </tr>
  <tr>
   <td  id=item2 language=JScript
onMouseDown="this.className='menublue'"
onMouseOver="this.className='menublue'"
onMouseOut="this.className='none'"><a class=menutext href="http://www.paladinland.com/cgi-bin/Ultimate.cgi?action=agree" target="_blank">&nbsp;&nbsp;注册会员&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>
   </td>
  </tr>
 </table>
</div>
<div id="menu3" style="position:absolute; width:134px; height:104px; z-index:2; left: 121px; top: 27px; visibility: hidden" class="menu">
 <table width="100%" border="0">
  <tr>
   <td>
    <p>
     &nbsp;&nbsp; <script language="JavaScript" src="../../Library/tutorbar.js">
</script>
    </p>
    <p>&nbsp;&nbsp;本菜单不是效果展示</p>
 </td>
  </tr>
 </table>
</div>
<div id="menu4" style="position:absolute; width:134px; height:104px; z-index:2; left: 169px; top: 27px; visibility: hidden" class="menu">
 <table width="100%" border="0">
  <tr>
   <td>
    <p> &nbsp;&nbsp;
     <script language="JavaScript" src="../../Library/codebar.js">
</script>
    </p>
    <p>&nbsp;&nbsp;本菜单不是效果展示</p>
   </td>
  </tr>
 </table>
 <p>&nbsp;</p>
 </div>
<div id="menu5" style="position:absolute; width:134px; height:104px; z-index:2; left: 222px; top: 27px; visibility: hidden" class="menu">
 <table width="100%" border="0">
  <tr>
   <td>
    <p> &nbsp;&nbsp;
     <script language="JavaScript" src="../../Library/resorcebar.js">
</script>
    </p>
    <p>&nbsp;&nbsp;本菜单不是效果展示</p>
   </td>
  </tr>
 </table>
</div>
<div id="vicemenu1" style="position:absolute; width:134px; height:104px; z-index:2; left: 143px; top: 26px; visibility: hidden" class="menu">
 <table width="100%" border="0">
  <tr>
   <td>
    <p>
     &nbsp;&nbsp;
     <script language="JavaScript" src="../js/mod.js">
</script>
    </p>
    <p>&nbsp;&nbsp;本菜单不是效果展示</p>
 </td>
  </tr>
 </table>
</div>



然后修改各处连接改为你自己的网址,这样你的全仿真微软菜单,就完成了。

接下来我们来深入的讨论全仿真微软菜单所涉及到的一些技巧,这样您可以自如地修改我的代码,形成您自己的菜单,首先这部分有一定深度,因此我假设您已经掌握了部分css和javascipt以及层的结合使用的知识。

菜单效果

1、您请注意微软IE5.0的菜单是按下去后弹出菜单。而我的因为做了连接,所以改为鼠标经过弹出菜单。您可以将最上方导航栏的<a href=...改为<a href="#">,然后将该处连接中onMouseOver="MM_showHideLayer....改为onclick="MM....

2、注意微软IE5.0的菜单是在任意页面上点击一下,再隐藏已经出现的菜单,因此在您的页面的上部菜单宽度等宽,高度和下拉菜单稍长的范围内设置javascipt使所有下拉菜单层隐藏,您可用dreamweaver的behavior实现。

3、为了达到和微软IE5.0的菜单,使用css多用了border的设置,根据光照是左上方投入,因此四边的颜色是上左白,右下黑,宽2pix.