实现二级菜单的伸缩功能的两种方法

要求
1、点击一级菜单,如果当前二级菜单是打开状态则二级菜单收起,小图标变成+
如果当前二级菜单是关闭状态则展开二级菜单,小图标变成- 并且收起其他的二级菜单
2、页面中的二级菜单最多只能有一个是展开状态

方法一:

<html> <head> <title>1. 实现伸缩二级菜单</title> <meta charset="utf-8" /> <style> 	li{ 		list-style:none; 	} 	li span { 		padding-left:20px; 		cursor:pointer; 	} 	.open{ 		background:url("img/minus.png") no-repeat center left; 	} 	.closed{ 		background: url("img/add.png") no-repeat center left; 	} 	.show{display:block;} 	.hide{display:none;} 	 </style> <script type="text/javascript">   window.onload = function (){     var Allspan = document.getElementsByTagName('span');     for(var i = 0 ; i<Allspan.length; i++){             Allspan[i].onclick=function(){              if(this.className =="open"){              	this.className = "closed";              	this.nextElementSibling.className="hide";              }else{              	var span = document.querySelector("ul.tree span.open");              	if(span){              		span.className="closed";              		span.nextElementSibling.className = "hide";              	}              	this.className = "open";              	this.nextElementSibling.className="show";              }     }  } }  </script> </head> <body> 	 	<ul class="tree"> 		<li> 			<span class="open" >考勤管理</span> 			<ul class="show"> 				<li>日常考勤</li> 				<li>请假申请</li> 				<li>加班/出差</li> 			</ul> 		</li> 		<li>       <span class="closed" >信息中心</span> 			<ul class="hide"> 				<li>通知公告</li> 				<li>公司新闻</li> 				<li>规章制度</li> 			</ul> 		</li> 		<li>       <span class="closed">协同办公</span> 			<ul class="hide"> 				<li>公文流转</li> 				<li>文件中心</li> 				<li>内部邮件</li> 				<li>即时通信</li> 				<li>短信提醒</li> 			</ul> 		</li> 	</ul>      </body> </html> 

方法二:

<!DOCTYPE HTML> <html> <head> <title>1. 实现伸缩二级菜单</title> <meta charset="utf-8" /> <style> 	li{ 		list-style:none; 	} 	li span { 		padding-left:20px; 		cursor:pointer; 	} 	.open{ 		background:url("img/minus.png") no-repeat center left; 	} 	.closed{ 		background: url("img/add.png") no-repeat center left; 	} 	.show{display:block;} 	.hide{display:none;} 	 </style> <script type="text/javascript">   window.onload = function (){     var Allspan = document.getElementsByTagName('span');     for(var i = 0 ; i<Allspan.length; i++){             Allspan[i].onclick=function(){              if(this.className =="open"){              	this.className = "closed";              	this.nextElementSibling.className="hide";              }else{              	var span = document.querySelector("ul.tree span.open");              	if(span){              		span.className="closed";              		span.nextElementSibling.className = "hide";              	}              	this.className = "open";              	this.nextElementSibling.className="show";              }     }  } }  </script> </head> <body> 	<ul class="tree"> 		<li> 			<span class="open" >考勤管理</span> 			<ul class="show"> 				<li>日常考勤</li> 				<li>请假申请</li> 				<li>加班/出差</li> 			</ul> 		</li> 		<li>       <span class="closed" >信息中心</span> 			<ul class="hide"> 				<li>通知公告</li> 				<li>公司新闻</li> 				<li>规章制度</li> 			</ul> 		</li> 		<li>       <span class="closed">协同办公</span> 			<ul class="hide"> 				<li>公文流转</li> 				<li>文件中心</li> 				<li>内部邮件</li> 				<li>即时通信</li> 				<li>短信提醒</li> 			</ul> 		</li> 	</ul>      </body> </html>