分别用两个函数实现的菜单

时间:2024-04-19 10:05:36 

css+div做的菜单:一个主显示层,别的列表都隐藏着,用js函数设置列表的显示和隐藏。分别用到了两个函数,函数实现的效果是一样的,一个是参考的《css+Dhtml精髓》书上的事例,一个是找的函数。
大家帮我看看那个函数好用!还有大家还有别的更好的方法实现这个效果吗?谢谢!!

<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">    </style>    <script language="javascript">//判断浏览器         browser = navigator.appName;         browserNum = parseInt(navigator.appVersion);                  if ((browser == "Netscape") &amp;&amp; (browserNum < 5))         {             // Netscape 4.x             layerRef = "document.layers['";             endLayerRef = "']";             styleRef = "";         }         else if ((browser == "Netscape") &amp;&amp; (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&amp;&amp;parent.frames.length)         {             d=parent.frames[n.substring(p+1)].document;             n=n.substring(0,p);         }         if(!(x=d[n])&amp;&amp;d.all)             x=d.all[n];          for (i=0;!x&amp;&amp;i<d.forms.length;i++)             x=d.forms[i][n];         for(i=0;!x&amp;&amp;d.layers&amp;&amp;i<d.layers.length;i++)             x=MM_findObj(n,d.layers[i].document);         if(!x &amp;&amp; document.getElementById)             x=document.getElementById(n);         return x;     }     //第二个函数             </script>                           </head> <body>  <div id="nav">  <ul id="ul">      <li>水果/水果 </li>          <li>花卉/花卉/花卉</li>                                           <li>汽车/汽车</li> <li>水果2</li> <li>花卉/花卉/花卉2</li> <li>汽车/汽车2</li> <li>水果3</li> <li>花卉/花卉3</li> <li>汽车/汽车/汽车3</li> </ul>   </div>     <ul  id="shui"  onMouseOver="javascript:showMenu('shui')";         onMouseOut="javascript:hiddenMenu('shui')" > <li>苹果</li> <li>香蕉</li> <li>猕猴桃</li> <li>火龙果</li> <li>苹果2</li> <li>香蕉2</li> <li>猕猴桃2</li> <li>火龙果2</li> <li>猕猴桃3</li> <li>火龙果3</li> </ul> <ul  id="hua"   onmouseover="javascript:MM_showHideLayers('hua','','show')";                  onmouseout="javascript:MM_showHideLayers('hua','','hide')"> <li>菊花</li> <li>玫瑰</li> <li>牡丹</li> <li>茉莉</li> <li>君子兰</li> <li>虞美人</li> <li>喇叭花2</li> <li>桂花2</li> </ul> <ul  id="che"  onmouseover="javascript:MM_showHideLayers('che','','show')";                  onmouseout="javascript:MM_showHideLayers('che','','hide')"> <li>大众</li> <li>奥迪</li> <li>宝马</li> <li>奔驰</li> <li>保时捷</li> <li>福特</li> <li>克莱斯勒</li> <li>法拉利</li> <li>克莱斯勒2</li> <li>法拉利2</li> </ul>     </body> </html> </font>


标签:分别用两个函数实现的菜单
0
投稿

猜你喜欢

  • 如何快速的呈现我们的网页的技巧整理

    2024-04-26 17:12:40
  • Oracle 自增(auto increment) 或 标识字段的建立方法

    2009-03-06 11:15:00
  • Keras 使用 Lambda层详解

    2021-08-11 20:12:40
  • Python中with...as...的使用方法

    2021-10-01 16:58:07
  • Java实现数据库连接的最详细教程分享

    2024-01-28 01:34:15
  • Python通过队列来实现进程间通信的示例

    2023-02-17 01:07:29
  • mysql中格式化数字详解

    2024-01-23 16:44:07
  • MySQL数据库之union,limit和子查询详解

    2024-01-16 08:15:29
  • python+pyqt5实现KFC点餐收银系统

    2022-02-05 08:49:46
  • snoopy PHP版的网络客户端提供本地下载

    2023-06-28 00:09:55
  • php pdo oracle中文乱码的快速解决方法

    2023-11-16 22:12:47
  • 浅淡BANNER设计

    2010-09-25 18:37:00
  • Python虚拟环境的创建和使用详解

    2022-09-14 18:05:26
  • MSSQL MySQL 数据库分页(存储过程)

    2012-01-29 18:30:20
  • MYSQL教程:查询优化之有效加载数据

    2009-02-27 15:45:00
  • MySQL 自动清理binlog日志的方法

    2024-01-17 11:37:59
  • 基于Python实现本地音乐播放器的制作

    2022-05-11 16:37:46
  • python实现清屏的方法

    2021-11-02 04:10:32
  • python2.7 mayavi 安装图文教程(推荐)

    2022-05-12 05:39:13
  • Python使用shutil模块实现文件拷贝

    2021-02-01 14:46:28
  • asp之家 网络编程 m.aspxhome.com