<!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" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>Document</title>
<link rel="stylesheet" type="text/css" href="project1.css" />
<script src="project1.js"></script>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
img{
border:0;
}
ol, ul ,li{list-style: none;}
a{text-decoration:none }
.nav{width:260px;position: relative;box-sizing: border-box;background: #fff;display: block;margin-left: 20px;}
.nav ul li {margin-left: 20px;color: #fff;background: #31302a;line-height: 65px;border-bottom: 1px solid #ccc;}
.nav ul li: hover {color: #000;background: #fff;}
.nav-one{position: relative;color: #fff;background: #31302a;height:60px;line-height: 60px;padding-left:20px;}
.nav-two{position: relative;color: #000;background: #fff;height:45px;line-height: 45px;padding-left:30px;}
.nav-two:hover {color: lightblue;background: #272822;}
.nav-three{position: relative;color: #000;height:40px;line-height: 40px;cursor: pointer;}
.nav-two-father{display: none;}
.nav-three-father{display: none;}
.nav ul li ul li {position: relative;color: #000;background: #fff;line-height: 45px;padding-left:30px;}
</style>
</head>
<body>
<div class="nav">
<ul>
<li>
<a href="#" class="nav-one"
onclick="clicks()">一级类目</a>
<ul class="nav-two-father" id="open">
<li>
<a href="#" class="nav-two"
onclick="boxp()"
>二级类目</a>
<ul class="nav-three-father"
id="box">
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#" class="nav-one"
onclick="clicks()">一级类目</a>
<ul class="nav-two-father" id="open">
<li>
<a href="#" class="nav-two"
onclick="boxp()"
>二级类目</a>
<ul class="nav-three-father"
id="box">
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<script type="text/javascript">
var i = 1;
var x = 1;
function clicks()
{
i++;
if( i%2 ==0){
document.getElementById("open").style.display = "block" ;
}
else{
document.getElementById("open").style.display = "none" ;
}
}
function boxp()
{
x++;
if( x%2 ==0){
document.getElementById("box").style.display = "block" ;
}
else{
document.getElementById("box").style.display = "none" ;
}
}
</script>
</body>
</html>
</script>
<!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" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>Document</title>
<link rel="stylesheet" type="text/css" href="project1.css" />
<script src="project1.js"></script>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
img{
border:0;
}
ol, ul ,li{list-style: none;}
a{text-decoration:none }
.nav{width:260px;position: relative;box-sizing: border-box;background: #fff;display: block;margin-left: 20px;}
.nav ul li {margin-left: 20px;color: #fff;background: #31302a;line-height: 65px;border-bottom: 1px solid #ccc;}
.nav ul li: hover {color: #000;background: #fff;}
.nav-one{position: relative;color: #fff;background: #31302a;height:60px;line-height: 60px;padding-left:20px;}
.nav-two{position: relative;color: #000;background: #fff;height:45px;line-height: 45px;padding-left:30px;}
.nav-two:hover {color: lightblue;background: #272822;}
.nav-three{position: relative;color: #000;height:40px;line-height: 40px;cursor: pointer;}
.nav-two-father{display: none;}
.nav-three-father{display: none;}
.nav ul li ul li {position: relative;color: #000;background: #fff;line-height: 45px;padding-left:30px;}
</style>
</head>
<body>
<div class="nav">
<ul>
<li>
<a href="#" class="nav-one"
onclick="clicks(0)">一级类目</a>
<ul class="nav-two-father open">
<li>
<a href="#" class="nav-two"
onclick="boxp(0)"
>二级类目</a>
<ul class="nav-three-father box">
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#" class="nav-one"
onclick="clicks(1)">一级类目</a>
<ul class="nav-two-father open">
<li>
<a href="#" class="nav-two"
onclick="boxp(1)"
>二级类目</a>
<ul class="nav-three-father box">
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<script type="text/javascript">
var i0 = 1,x0 = 1,i1 = 1,x1 = 1;
function clicks(a)
{
a==0?i0++:i1++;
if( (a==0?i0:i1)%2 ==0 ){
document.getElementsByClassName("open")[a].style.display = "block" ;
}
else{
document.getElementsByClassName("open")[a].style.display = "none" ;
}
}
function boxp(a)
{
a==0?x0++:x1++;
if( (a==0?x0:x1)%2 ==0){
document.getElementsByClassName("box")[a].style.display = "block" ;
}
else{
document.getElementsByClassName("box")[a].style.display = "none" ;
}
}
</script>
</body>
</html>
因为你指定了两组同样的ID,你通过获取只能有一个Id生效,所以你加的事件和效果是不对的,你要做折叠菜单的话,我跟你个例子,如果你需要在你的基础上改的话,你可以私聊我:
<ol class="tree">
<li>
<label for="folder1" class="folderOne">泽元框架</label> <input type="checkbox" id="folder1" />
<ol>
<li>
<label for="subfolder1"class="folderTwo">开发规范</label> <input type="checkbox" id="subfolder1" />
<ol>
<li class="file folderThree"><a href="#">常见界面错误举例</a></li>
<li class="file folderThree"><a href="#">关于发行报告对BUG管理提出…</a></li>
<li class="file folderThree"><a href="#">插件内部JAVA包命名规范</a></li>
</ol>
</li>
<li class="file folderTwo"><a href="#">概述</a></li>
<li class="file folderTwo"><a href="#">服务器集群</a></li>
<li class="file folderTwo"><a href="#">模板</a></li>
<li class="file folderTwo"><a href="#">安全机制</a></li>
</ol>
</li>
<li>
<label for="folder2" class="folderOne" >ZCMS</label> <input type="checkbox" id="folder2" />
<ol>
<li class="file folderTwo"><a href="#">实时数据</a></li>
<li>
<label for="subfolder2" class="folderTwo">实时数据</label> <input type="checkbox" id="subfolder2" />
<ol>
<li class="file folderThree"><a href="#">实时数据</a></li>
<li class="file folderThree"><a href="#">实时数据</a></li>
<li class="file folderThree"><a href="#">实时数据</a></li>
</ol>
</li>
</ol>
</li>
<li>
<label for="folder3" class="folderOne">ZAS</label> <input type="checkbox" id="folder3" />
<ol>
<li class="file folderTwo"><a href="#">实时数据</a></li>
<li class="file folderTwo"><a href="#">实时数据</a></li>
</ol>
</li>
<li>
<label for="folder4" class="folderOne">ZHTML标签</label> <input type="checkbox" id="folder4"/>
<ol>
<li class="file folderTwo"><a href="#">实时数据</a></li>
<li class="file folderTwo"><a href="#">实时数据</a></li>
</ol>
</li>
<li>
<label for="folder5" class="folderOne">UI框架API手册</label> <input type="checkbox" id="folder5"/>
<ol>
<li class="file folderTwo"><a href="#">实时数据</a></li>
<li class="file folderTwo"><a href="#">实时数据</a></li>
</ol>
</li>
</ol>
<style type="text/css">
.tree {margin: 0;padding: 0;background-color:#f2f2f2;overflow: hidden;}
/*隐藏input*/
.tree li input{position: absolute;left: 0;opacity: 0;z-index: 2;cursor: pointer;height: 1em;width:1em;top: 0;}
/*所有菜单项设置统一样式*/
.tree li {position: relative;list-style: none;}
/*一级菜单加下边线*/
.tree>li{border-bottom: 1px solid #d9d9d9;}
/*给有子菜单的菜单项添加背景图标*/
.tree li label {max-width:999px;cursor: pointer;display: block;margin:0 0 0 -50px;padding: 15px 10px 15px 70px;background: url(../../images/cp-detail-arrow-b.png) no-repeat right center;background-position:95% 50%;white-space:nowrap;overflow:hidden;text-overflow: ellipsis; }
.tree li label:hover,li label:focus{background-color:#a7a7a7;color:#fff;}
/*清除所有展开的子菜单的display*/
.tree li input + ol{display: none;}
/*当input被选中时,给所有展开的子菜单设置样式*/
.tree input:checked + ol {padding-left:14px;height: auto;display: block;}
.tree input:checked + ol > li { height: auto;}
/*末层菜单为A标签,设置样式*/
.tree li.file a{margin:0 -10px 0 -50px;padding: 15px 20px 15px 70px;text-decoration:none;display: block;color:#333333;white-space:nowrap;overflow:hidden;text-overflow: ellipsis;}
.tree li.file a:hover,li.file a:focus{background-color:#a7a7a7;color:#fff;}
/*不同层级的菜单字体大小不同*/
.tree .folderOne{font-size: 18px;}
.tree .folderTwo{font-size:16px;}
.tree .folderThree{font-size:14px;}
</style>
<script type="text/javascript">
$(document).ready(function() {
//每个有子菜单的菜单项添加点击事件
$(".tree label").click(function(){
//获取当前菜单旁边input的check状态
var isChecked = $(this).next("input[type='checkbox']").is(':checked');
//展开和收齐的不同状态下更换右侧小图标
if(isChecked){
$(this).css(
"background-image","url(../images/cp-detail-arrow-b.png)"
);
}else{
$(this).css(
"background-image","url(../images/cp-detail-arrow-t.png)"
);
}
});
});
</script>
<!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" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>Document</title>
<link rel="stylesheet" type="text/css" href="project1.css" />
<script src="project1.js"></script>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
img{
border:0;
}
ol, ul ,li{list-style: none;}
a{text-decoration:none }
.nav{width:260px;position: relative;box-sizing: border-box;background: #fff;display: block;margin-left: 20px;}
.nav ul li {margin-left: 20px;color: #fff;background: #31302a;line-height: 65px;border-bottom: 1px solid #ccc;}
.nav ul li: hover {color: #000;background: #fff;}
.nav-one{position: relative;color: #fff;background: #31302a;height:60px;line-height: 60px;padding-left:20px;}
.nav-two{position: relative;color: #000;background: #fff;height:45px;line-height: 45px;padding-left:30px;}
.nav-two:hover {color: lightblue;background: #272822;}
.nav-three{position: relative;color: #000;height:40px;line-height: 40px;cursor: pointer;}
.nav ul li ul li {position: relative;color: #000;background: #fff;line-height: 45px;padding-left:30px;}
.nav-two-father{display: none;}
.nav-three-father{display: none;}
</style>
</head>
<body>
<div class="nav">
<ul>
<li>
<a href="#" class="nav-one"
onclick="clicks(this)">一级类目</a>
<ul class="nav-two-father open">
<li>
<a href="#" class="nav-two"
onclick="clicks(this)"
>二级类目</a>
<ul class="nav-three-father box">
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
</ul>
</li>
<li>
<a href="#" class="nav-two"
onclick="clicks(this)"
>二级类目</a>
<ul class="nav-three-father box">
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
</ul>
</li>
<li>
<a href="#" class="nav-two"
onclick="clicks(this)"
>二级类目</a>
<ul class="nav-three-father box">
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#" class="nav-one"
onclick="clicks(this)">一级类目</a>
<ul class="nav-two-father open">
<li>
<a href="#" class="nav-two"
onclick="clicks(this)"
>二级类目</a>
<ul class="nav-three-father box">
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
</ul>
</li>
<li>
<a href="#" class="nav-two"
onclick="clicks(this)"
>二级类目</a>
<ul class="nav-three-father box">
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
</ul>
</li>
<li>
<a href="#" class="nav-two"
onclick="clicks(this)"
>二级类目</a>
<ul class="nav-three-father box">
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#" class="nav-one"
onclick="clicks(this)">一级类目</a>
<ul class="nav-two-father open">
<li>
<a href="#" class="nav-two"
onclick="clicks(this)"
>二级类目</a>
<ul class="nav-three-father box">
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
</ul>
</li>
<li>
<a href="#" class="nav-two"
onclick="clicks(this)"
>二级类目</a>
<ul class="nav-three-father box">
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
</ul>
</li>
<li>
<a href="#" class="nav-two"
onclick="clicks(this)"
>二级类目</a>
<ul class="nav-three-father box">
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
<li class="nav-three">三级类目</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<script type="text/javascript">
function clicks(e)
{
console.log(e.nextElementSibling)
if( e.nextElementSibling.style.display != 'block' ){
e.nextElementSibling.style.display = "block" ;
}
else{
e.nextElementSibling.style.display = "none" ;
}
}
</script>
</body>
</html>