后台管理左侧菜单收缩自如
<<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .hide{ display: none; } .item .header{ height: 35px; background-color: #2459a2; color: white; line-height: 35px; } .item .header:hover{ height: 35px; background-color: black; color: yellow; line-height: 35px; } </style> </head> <body> <div style="height: 48px"></div> <div style="width: 300px"> <div class="item"> <div id='i1' class="header" onclick="ChangeMenu('i1');">菜单1</div> <div class="content"> <div>内容1</div> <div>内容1</div> <div>内容1</div> </div> </div> <div class="item"> <div id='i2' class="header" onclick="ChangeMenu('i2');">菜单2</div> <div class="content hide"> <div>内容2</div> <div>内容2</div> <div>内容2</div> </div> </div> <div class="item"> <div id='i3' class="header" onclick="ChangeMenu('i3');">菜单3</div> <div class="content hide"> <div>内容3</div> <div>内容3</div> <div>内容3</div> </div> </div> <div class="item"> <div id='i4' class="header" onclick="ChangeMenu('i4');">菜单4</div> <div class="content hide"> <div>内容4</div> <div>内容4</div> <div>内容4</div> </div> </div> </div> <script> function ChangeMenu(nid){ var current_header = document.getElementById(nid); var item_list = current_header.parentElement.parentElement.children; for(var i=0;i<item_list.length;i++){ var current_item = item_list[i]; current_item.children[1].classList.add('hide'); } current_header.nextElementSibling.classList.remove('hide'); } </script> </body> </html>
实现菜单的收缩自如

1 function ChangeMenu(nid){ 2 var current_header = document.getElementById(nid); 3 console.log(current_header.nextElementSibling.className.indexOf('hide')); 4 if(current_header.nextElementSibling.className.indexOf('hide') < 0){ 5 current_header.nextElementSibling.classList.add('hide'); 6 return} 7 var item_list = current_header.parentElement.parentElement.children; 8 9 for(var i=0;i<item_list.length;i++){ 10 var current_item = item_list[i]; 11 current_item.children[1].classList.add('hide'); 12 } 13 14 current_header.nextElementSibling.classList.remove('hide'); 15 }