JS三级可折叠菜单实现方法
来源:互联网 发布:广联达算量软件下载 编辑:程序博客网 时间:2024/05/16 16:02
这篇文章主要介绍了JS三级可折叠菜单实现方法,以实例形式分析了asp.net结合JavaScript实现三级折叠菜单的相关技巧,涉及JavaScript节点操作实现方法,需要的朋友可以参考下
本文实例讲述了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";
}
本文实例讲述了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";
}
}
http://www.lanrenmb.com/weixinsucai/微信编辑器
http://buluo.lanrenmb.com/QQ兴趣部落导航
0 0
- JS三级可折叠菜单实现方法
- js可折叠商品类别动态三级滑动菜单
- js实现三级菜单
- JS实现三级级联菜单
- js+xml实现三级联动菜单
- js实现年月日三级下拉菜单联动
- js实现三级菜单的制作
- js实现年月日三级下拉菜单联动
- 分别用css、JS、jQuery实现二级菜单、三级菜单
- JS 三级联动菜单
- 三级下拉菜单 js
- Js三级联动菜单
- 三级菜单的实现
- CSS实现三级菜单
- 三级联动js,jQuery的实现方法
- JS来实现省市县三级联动菜单
- js实现全国省市县无刷新三级关联菜单
- JS来实现省市县三级联动菜单
- ViewPager实现Gallery的画廊效果 突显中间 虚化两边的界面
- Android自定义View控件
- Android Studio——Android Studio更新升级方法
- Android仿美团筛选菜单
- cntk学习日志(一)
- JS三级可折叠菜单实现方法
- JAVA之DecimalFormat的用法---用户格式化数据
- Android逆向分析基础-静态分析Android程序
- 图像验证码识别(九)——训练和识别
- 使用 wget 判断 Web 是否宕机的脚本
- DIV和SPAN垂直居中对齐的实现方法
- 不兼容结构的协调——适配器模式
- css笔试题
- 判断多边形凹凸性