侧边手风琴导航栏

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>侧边手风琴导航栏</title>
  <style type=text/css>
     *{
	     margin: 0;
		 padding: 0;
	 }
     html,body{
	     height: 100%;
	 }
	 .wrap{
	     height: 100%;
		 width: 260px;
		 background-color: #363a45;
		 text-align: center;
		 color: #fff;
	 }
	 .header{
		 height: 60px;
		 background-color: #44495a;
		 font-size: 20px;
		 line-height: 60px;
	 }
	 .nav{
	     width: 250px;
         margin: 10px 5px;
	 }
	 .nav-list h2{
	     position:relative;
	     padding: 15px 0;
		 background-color: #3889d4;
		 font-size: 15px;
	 }
	 .nav-list h2:hover{
	     background-color: RoyalBlue;
		 color: #cdcdcd;
	 }
	 .nav-list h2.on{                    /*设置h2点击后类on属性,点击后h2颜色变化*/
	     background-color: #393c4a;
	 }
	 .nav-list i{
	     position:absolute;
		 right: 10px;
		 top: 16px;
		 border: 8px solid transparent;
		 border-left-color: #fff;
		 transform-origin: 1px 7px;   /*设置小三角旋转基点*/
		 transition: .8s;    /*旋转过渡时间*/
	 }
	 .nav-list i.on{               /*设置点击后添加的类on属性(小三角旋转角度)*/
	     transform: rotate(90deg);   
	 }
	 .hide{
	     height: 0;
		 overflow: hidden;
		 margin-bottom: 5px;
		 transition: 1s;
	 }
	 .hide h5{
	     padding: 10px 0;
		 background-color: #282c3a;
		 border-bottom: 1px solid #42495d;
	 }
	 .hide h5:hover{
	 	background-color: #03B9FA;
	 }
</style>
 </head>
 <body>
     <div class="wrap">
         <div class="header">大标题</div>
	     <div class="nav">
             <ul>
	             <li class="nav-list">
			         <h2><div></div>
					     分类标题一
					     <i></i>
					 </h2>
				     <div class="hide">
					     <h5>小标题1</h5>
						 <h5>小标题2</h5>
						 <h5>小标题3</h5>
						 <h5>小标题4</h5>
						 <h5>小标题5</h5>
						 <h5>小标题6</h5>
					 </div>
			     </li>
				 <li class="nav-list">
			         <h2>分类标题二
					     <i></i>    <!--制作小三角-->
					 </h2>
				     <div class="hide">
					     <h5>小标题1</h5>
						 <h5>小标题2</h5>
						 <h5>小标题3</h5>
						 <h5>小标题4</h5>
						 <h5>小标题5</h5>
						 <h5>小标题6</h5>
					 </div>
			     </li>
				 <li class="nav-list">
			         <h2>分类标题三
					     <i></i>
					 </h2>
				     <div class="hide">
					     <h5>小标题1</h5>
						 <h5>小标题2</h5>
						 <h5>小标题3</h5>
						 <h5>小标题4</h5>
						 <h5>小标题5</h5>
						 <h5>小标题6</h5>
					 </div>
			     </li>
             </ul>
	     </div>
     </div>
	 <script>
	     var aList = document.querySelectorAll('.nav-list h2');    //依次获取需要h2,.hide,i标签
		 var aHide = document.querySelectorAll('.hide');
		 var oIcon = document.querySelectorAll('.nav-list i');
		 var lastIndex = 0;    //自定义变量监控点击后的下标
		 for(var i=0;i<aList.length;i++){
             aList[i].index = i;  //自定义属性保存下标
		     aList[i].onclick = function() {
				 //判断是否二次点击同一栏
				 if(aHide[this.index].style.height =='' || aHide[this.index].style.height == '0px'){
				 aHide[lastIndex].style.height = '0';
				 aList[lastIndex].className = '';
				 oIcon[lastIndex].className = '';
				 //设置当前样式
		         aHide[this.index].style.height = '235px';
			     aList[this.index].className = 'on';            //点击后为h2添加class = 'on'
				 oIcon[this.index].className = 'on';
				 }
				  else{
				     aHide[this.index].style.height = '0';
				     aList[this.index].className = '';
				     oIcon[this.index].className = '';
				  }
				 lastIndex = this.index; // 保存当前下标
		 }
		 }
	 </script>
 </body>
</html>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值