<! 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 > Div+CSS+JS树型菜单,可刷新 </ title > < meta name ="description" content ="http://www.livepo.com" > < style type ="text/css" > <!--*{}{margin:0;padding:0;border:0;}body {}{ font-family: arial, 宋体, serif; font-size:12px;}#nav {}{ width:180px; line-height: 24px; list-style-type: none; text-align:left; /**//*定义整个ul菜单的行高和背景色*/}/**//*==================一级目录===================*/#nav a {}{ width: 160px; display: block; padding-left:20px; /**//*Width(一定要),否则下面的Li会变形*/}#nav li {}{ background:#CCC; /**//*一级目录的背景色*/ border-bottom:#FFF 1px solid; /**//*下面的一条白边*/ float:left; /**//*float:left,本不应该设置,但由于在Firefox不能正常显示 继承Nav的width,限制宽度,li自动向下延伸*/}#nav li a:hover{}{ background:#CC0000; /**//*一级目录onMouseOver显示的背景色*/}#nav a:link {}{ color:#666; text-decoration:none;}#nav a:visited {}{ color:#666;text-decoration:none;}#nav a:hover {}{ color:#FFF;text-decoration:none;font-weight:bold;}/**//*==================二级目录===================*/#nav li ul {}{ list-style:none; text-align:left;}#nav li ul li{}{ background: #EBEBEB; /**//*二级目录的背景色*/}#nav li ul a{}{ padding-left:20px; width:160px; /**//* padding-left二级目录中文字向右移动,但Width必须重新设置=(总宽度-padding-left)*/}/**//*下面是二级目录的链接样式*/#nav li ul a:link {}{ color:#666; text-decoration:none;}#nav li ul a:visited {}{ color:#666;text-decoration:none;}#nav li ul a:hover {}{ color:#F3F3F3; text-decoration:none; font-weight:normal; background:#CC0000; /**//* 二级onmouseover的字体颜色、背景色*/}/**//*==============================*/#nav li:hover ul {}{ left: auto;}#nav li.sfhover ul {}{ left: auto;}#content {}{ clear: left; }#nav ul.collapsed {}{ display: none;}-->#PARENT{}{ width:300px; padding-left:20px;} </ style > </ head > < body > < div id ="PARENT" > < ul id ="nav" > < li >< a href ="#Menu=ChildMenu1" onclick ="DoMenu('ChildMenu1')" > 我的网站 </ a > < ul id ="ChildMenu1" class ="collapsed" > < li >< a href ="http://www.netany.net" target ="_blank" > www.netany.net </ a ></ li > < li >< a href ="http://www.netany.net" target ="_blank" > www.netany.net </ a ></ li > < li >< a href ="http://www.netany.net" target ="_blank" > www.netany.net </ a ></ li > </ ul > </ li > < li >< a href ="#Menu=ChildMenu2" onclick ="DoMenu('ChildMenu2')" > 我的帐务 </ a > < ul id ="ChildMenu2" class ="collapsed" > < li >< a href ="http://www.netany.net" target ="_blank" > 支付 </ a ></ li > < li >< a href ="#" > 网上支付 </ a ></ li > < li >< a href ="#" > 登记汇款 </ a ></ li > < li >< a href ="#" > 在线招领 </ a ></ li > < li >< a href ="#" > 历史帐务 </ a ></ li > </ ul > </ li > < li >< a href ="#Menu=ChildMenu3" onclick ="DoMenu('ChildMenu3')" > 网站管理 </ a > < ul id ="ChildMenu3" class ="collapsed" > < li >< a href ="#" > 登录 </ a ></ li > < li >< a href ="http://www.netany.net" target ="_blank" > 管理 </ a ></ li > < li >< a href ="#" > 管理 </ a ></ li > < li >< a href ="#" > 管理 </ a ></ li > </ ul > </ li > < li >< a href ="#Menu=ChildMenu4" onclick ="DoMenu('ChildMenu4')" > 网站管理 </ a > < ul id ="ChildMenu4" class ="collapsed" > < li >< a href ="#" > 登录 </ a ></ li > < li >< a href ="http://www.netany.net" target ="_blank" > 管理 </ a ></ li > < li >< a href ="#" > 管理 </ a ></ li > < li >< a href ="#" > 管理 </ a ></ li > </ ul > </ li > </ ul > </ div > </ body > </ html > < script type =text/javascript > <!--var LastLeftID = "";var count=0;//做计数器var limit=new Array();//用于记录当前显示的哪几个菜单var countlimit=2;//同时打开菜单数目,可自定义function menuFix() { var obj = document.getElementById("nav").getElementsByTagName("li"); for (var i=0; i<obj.length; i++) { obj[i].onmouseover=function() { this.className+=(this.className.length>0? " ": "") + "sfhover"; } obj[i].onMouseDown=function() { this.className+=(this.className.length>0? " ": "") + "sfhover"; } obj[i].onMouseUp=function() { this.className+=(this.className.length>0? " ": "") + "sfhover"; } obj[i].onmouseout=function() { this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"), ""); } }}function DoMenu(emid){ var obj = document.getElementById(emid); //obj.className = (obj.className.toLowerCase() == "expanded"?"collapsed":"expanded"); // if((LastLeftID!="")&&(emid!=LastLeftID)) //关闭上一个Menu //{ //document.getElementById(LastLeftID).className = "collapsed"; //} if(obj.className.toLowerCase()=="expanded") { obj.className="collapsed"; var j; for (i=0;i<limit.length;i++) {if (limit[i]==el) j=i;}//获取当前点击的菜单在limit数组中的位置 for (i=j;i<limit.length-1;i++) {limit[i]=limit[i+1];}//j以后的数组全部往前挪一位 limit[limit.length-1]=null;//删除数组最后一位 count--; } else { obj.className="expanded"; if (count<countlimit) {//限制2个 limit[count]=emid;//录入数组 count++; } else { document.getElementById(limit[0]).className="collapsed"; //LastLeftID = emid; for (i=0;i<limit.length-1;i++) {limit[i]=limit[i+1];}//数组去掉头一位,后面的往前挪一位 limit[limit.length-1]=emid; } } }function GetMenuID(){ var MenuID=""; var _paramStr = new String(window.location.href); var _sharpPos = _paramStr.indexOf("#"); if (_sharpPos >= 0 && _sharpPos < _paramStr.length - 1) { _paramStr = _paramStr.substring(_sharpPos + 1, _paramStr.length); } else { _paramStr = ""; } if (_paramStr.length > 0) { var _paramArr = _paramStr.split("&"); if (_paramArr.length>0) { var _paramKeyVal = _paramArr[0].split("="); if (_paramKeyVal.length>0) { MenuID = _paramKeyVal[1]; } } /**//* if (_paramArr.length>0) { var _arr = new Array(_paramArr.length); } //取所有#后面的,菜单只需用到Menu //for (var i = 0; i < _paramArr.length; i++) { var _paramKeyVal = _paramArr[i].split('='); if (_paramKeyVal.length>0) { _arr[_paramKeyVal[0]] = _paramKeyVal[1]; } } */ } if(MenuID!="") { DoMenu(MenuID) }}GetMenuID(); //*这两个function的顺序要注意一下,不然在Firefox里GetMenuID()不起效果menuFix();--> </ script > 转载于:https://www.cnblogs.com/hugongs/archive/2006/08/10/472907.html