Js的无限分级树

本文为转载只为方便学习

<html>
<head>
</head>
<body>
<ul id=”side_menu”>
<li><a href=”#”>[-] 一级菜单</a>
<ul>
<li><a href=”#”>[-] 二级菜单</a>
<ul>
<li><a href=”#”>[-] 三级菜单</a></li>
<li><a href=”#”>[-] 三级菜单</a></li>
</ul>
</li>
<li><a href=”#”>[-] 二级菜单</a></li>
</ul>
</li>
</ul>
<body>
<script type=”text/javascript”>
/*=======================树状菜单开始=========================*/
//该树状菜单由catge原创,有任何疑问和BUG请联系QQ:965496 Blog:catge.blogbus.com
//该菜单支持无限级数,增加级数方法:三级时level赋值5,以后每增加一级level值增2
//该例CSS样式表已经定义到5级样式,
//套用该函数只需在树状菜单根节点上使用id=”side_menu”,列表需使用UL
/*==========================================================*/
var level = 5;
var n = level;


//判断该对象是否包含于side_menu中
function isInSideMenu(obj){
if(n){ n–;
if(obj.getAttribute&&obj.getAttribute(”id”)==”side_menu”){n = level;return true;}
if(obj.nodeType==9){n = level;return false;}//超过当前文档树结构时返回false
else{return isInSideMenu(obj.parentNode);}
}
n = level;
return false;
}
//菜单折叠效果函数
function foldMenu(){
if(this.nextSibling&&this.nextSibling.nextSibling){
if(this.nextSibling.nextSibling.style.display==”block”){
this.nextSibling.nextSibling.style.display =”none”;
this.innerHTML = this.innerHTML.replace(”-”,”+”);
}else{
this.nextSibling.nextSibling.style.display =”block”;
this.innerHTML = this.innerHTML.replace(”+”,”-”);
}
}else{
this.innerHTML = this.innerHTML.replace(”+”,”-”);
}
}
//初始化树状菜单
function intSideMenu(){
var as = document.getElementsByTagName(”a”);
var uls = document.getElementsByTagName(”ul”);
var sidemenuUL = document.getElementById(”side_menu”);
for(var i=0;i<as.length;i++){
if(isInSideMenu(as[i])){
as[i].οnclick= foldMenu;
as[i].innerHTML = as[i].innerHTML.replace(”-”,”+”);
}
}//给所有树状菜单内的a绑定foldMenu函数
for(var j=0;j<uls.length;j++){
if(isInSideMenu(uls[j]))uls[j].style.display =”none”;//初始化隐藏树状菜单
}
sidemenuUL.style.display = “block”;//显示根菜单
}


intSideMenu();
/*====================//树状菜单结束==========================*/
</script>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值