JavaScript实现左侧展开菜单的完整代码示例

作者:微光时间:2026-10-22 10:38:54浏览:186

本文通过完整的HTML、CSS和JavaScript代码示例,演示如何实现一个简洁的左侧展开菜单。核心逻辑利用JS遍历菜单项,通过切换CSS类名(如hide)控制子内容的显示与隐藏,实现点击标题展开对应内容并折叠其他项的功能。

JavaScript左侧菜单实现概述

以下代码展示了如何使用JavaScript实现左侧菜单的交互效果,供读者参考学习。

目前实现的代码量相对较多,后续随着学习的深入,可以使用更简洁的方式实现相同功能。

完整代码实现与逻辑解析


<!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;
 }
 </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 hide">
  <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>

菜单交互效果演示

菜单初始状态如下所示:

JavaScript左侧菜单实现概述

点击任意一个菜单标题后,效果变为:

JavaScript左侧菜单实现概述

通过上述步骤,即完成了一个基础的左侧菜单功能。

以上内容为本文的全部分享,希望能为读者的学习提供便利,同时也欢迎继续支持本站。

作者最新文章