JS三级可折叠菜单实现方法
来源: 阅读:1010 次 日期:2016-08-04 16:27:32
温馨提示: 小编为您整理了“JS三级可折叠菜单实现方法”,方便广大网友查阅!

本文实例讲述了JS三级可折叠菜单实现方法。分享给大家供大家参考,具体如下:

.ASPX代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="NavigateMenu.aspx.cs" Inherits="NavigateMenu" %>

<!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 runat="server">

  <title>无标题页</title>

  <script type="text/javascript" src="JScript.js" ></script>

  <style type="text/css">

*{

 margin: 0px;

 padding: 0px;

 border:0px;

}

#nav{

 width: 600px;

 margin: 0px;

 padding: 0px;

 font-size: 14px;

 line-height: 30px;

}

#nav li{

 width: 180px;

 padding-left: 20px;

 padding-bottom: 1px;

 list-style-image: none;

 list-style-type: none;

 background-color: #FFFFFF;

}

#nav a{

 padding-left: 20px;

 background-color: #BFBFBF;

 display: block;

 text-decoration: none;

}

#nav a:hover {

 background-color: #FF9175;

}

#nav li ul{

 padding-top: 1px;

 list-style-image: none;

 list-style-type: none;

}

#nav li li{

 padding-left: 0px;

}

#nav ul a{

 background-color: #EBEBEB;

}

.cx {

 display:none;

 visibility:hidden;

}

.ex {

 display:inherit;

 visibility:inherit;

}

</style>

<script type="text/javascript" >

 window.onload=function(){

 statUp();

 }

</script>

</head>

<body>

<form id="form1" runat="server">

<div id="Parent">

<ul id="nav">

<li><a href="javascript:void(0);" onclick="doMenu(this,'1')">菜单1</a>

 <ul>

 <li><a href="javascript:void(0);">菜单1_1</a></li>

 <li><a href="javascript:void(0);">菜单1_2</a></li>

 </ul>

</li>

<li><a href="javascript:void(0);" onclick="doMenu(this,'1')">菜单2</a>

 <ul>

 <li><a href="javascript:void(0);" onclick="doMenu(this,'2')" >菜单2_1</a>

 <ul>

 <li>菜单2_1_1</li>

 <li>菜单2_1_2</li>

 </ul>

 </li>

 <li><a href="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文件代码:

function doMenu(obj,strDeep){

 var items=obj.parentNode.getElementsByTagName("ul");

 //获取a 对象你节点li 下包含的 所有ul集合

 var itmUl;

 var deeps=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";

 }

}

function statUp(){

 cxAll();

 var ulDom=document.getElementById("nav");

 var items=ulDom.getElementsByTagName("ul");

}

function cxAll(){

 var ulDom=document.getElementById("nav");

 var items=ulDom.getElementsByTagName("ul");

 for (var i=0;i<items.length;i++)

 {

 items[i].className="cx";

 }

}

希望本文所述对大家JavaScript程序设计有所帮助。

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map