写一段可折叠展开的左侧菜单导航栏代码,主菜单1包含子菜单3579,主菜单2包含2468
时间: 2024-01-13 08:03:17 浏览: 232
好的,以下是一段基于HTML、CSS和JavaScript的可折叠展开的左侧菜单导航栏代码,包含两个主菜单和对应的子菜单:
HTML代码:
```html
<div class="sidebar">
<ul class="main-menu">
<li class="menu-item" data-submenu="submenu1">主菜单1</li>
<li class="menu-item" data-submenu="submenu2">主菜单2</li>
</ul>
<ul class="sub-menu" id="submenu1">
<li>子菜单3</li>
<li>子菜单5</li>
<li>子菜单7</li>
<li>子菜单9</li>
</ul>
<ul class="sub-menu" id="submenu2">
<li>子菜单2</li>
<li>子菜单4</li>
<li>子菜单6</li>
<li>子菜单8</li>
</ul>
</div>
```
CSS代码:
```css
.sidebar {
width: 200px;
height: 100%;
background-color: #e6e6e6;
position: fixed;
top: 0;
left: 0;
overflow-y: auto;
z-index: 999;
}
.main-menu {
list-style: none;
margin: 0;
padding: 0;
}
.menu-item {
display: block;
padding: 10px;
cursor: pointer;
}
.sub-menu {
list-style: none;
margin: 0;
padding: 0;
display: none;
}
.sub-menu li {
display: block;
padding: 10px;
}
.sub-menu li:hover {
background-color: #cccccc;
}
```
JavaScript代码:
```javascript
let menuItems = document.querySelectorAll('.menu-item');
menuItems.forEach(function(item) {
item.addEventListener('click', function() {
let submenu = document.getElementById(item.dataset.submenu);
if (submenu.style.display === 'none') {
submenu.style.display = 'block';
} else {
submenu.style.display = 'none';
}
});
});
```
这段代码实现了一个左侧菜单导航栏,包含两个主菜单和对应的子菜单。点击主菜单项时,对应的子菜单会根据当前的显示状态进行切换。其中,CSS代码实现了菜单的基本样式,JavaScript代码实现了菜单的交互功能。
阅读全文