JS三级可折叠菜单实现方法
本文实例讲述了JS三级可折叠菜单实现方法。分享给大家供大家参考,具体如下:
.ASPX代码:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="NavigateMenu.aspx.cs"Inherits="NavigateMenu"%> <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <headrunat="server"> <title>无标题页</title> <scripttype="text/javascript"src="JScript.js"></script> <styletype="text/css"> *{ margin:0px; padding:0px; border:0px; } #nav{ width:600px; margin:0px; padding:0px; font-size:14px; line-height:30px; } #navli{ width:180px; padding-left:20px; padding-bottom:1px; list-style-image:none; list-style-type:none; background-color:#FFFFFF; } #nava{ padding-left:20px; background-color:#BFBFBF; display:block; text-decoration:none; } #nava:hover{ background-color:#FF9175; } #navliul{ padding-top:1px; list-style-image:none; list-style-type:none; } #navlili{ padding-left:0px; } #navula{ background-color:#EBEBEB; } .cx{ display:none; visibility:hidden; } .ex{ display:inherit; visibility:inherit; } </style> <scripttype="text/javascript"> window.onload=function(){ statUp(); } </script> </head> <body> <formid="form1"runat="server"> <divid="Parent"> <ulid="nav"> <li><ahref="javascript:void(0);"onclick="doMenu(this,'1')">菜单1</a> <ul> <li><ahref="javascript:void(0);">菜单1_1</a></li> <li><ahref="javascript:void(0);">菜单1_2</a></li> </ul> </li> <li><ahref="javascript:void(0);"onclick="doMenu(this,'1')">菜单2</a> <ul> <li><ahref="javascript:void(0);"onclick="doMenu(this,'2')">菜单2_1</a> <ul> <li>菜单2_1_1</li> <li>菜单2_1_2</li> </ul> </li> <li><ahref="javascript:void(0);"onclick="doMenu(this,'2')">菜单2_2</a> <ul> <li>菜单2_2_1</li> </ul> </li> </ul> </li> </ul> </div> </form> </body> </html>
js文件代码:
functiondoMenu(obj,strDeep){ varitems=obj.parentNode.getElementsByTagName("ul"); //获取a对象你节点li下包含的所有ul集合 varitmUl; vardeeps=strDeep;//strDeep为当前菜单的级数 if(items.length>0){ itmUl=items[0]; alert(itmUl); } if(itmUl.className!="ex"){ cxAll();//当前节点为关闭状态时,先执行关闭所有ul子菜单 if(deeps=='2'){//若要展开三级菜单当,还要将其二级父菜单展开 itmUl.parentNode.parentNode.className="ex"; } itmUl.className="ex";//展开下级菜单 }else{ itmUl.className="cx"; } } functionstatUp(){ cxAll(); varulDom=document.getElementById("nav"); varitems=ulDom.getElementsByTagName("ul"); } functioncxAll(){ varulDom=document.getElementById("nav"); varitems=ulDom.getElementsByTagName("ul"); for(vari=0;i<items.length;i++) { items[i].className="cx"; } }
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。