在JavaScript中实现菜单折叠功能,通常涉及到DOM操作和事件处理。以下是一个基础的实现示例,包括HTML结构、CSS样式和JavaScript代码。
<ul class="menu">
<li>
<span class="menu-title">菜单1</span>
<ul class="submenu">
<li>子菜单1-1</li>
<li>子菜单1-2</li>
</ul>
</li>
<li>
<span class="menu-title">菜单2</span>
<ul class="submenu">
<li>子菜单2-1</li>
<li>子菜单2-2</li>
</ul>
</li>
</ul>
.menu .submenu {
display: none;
}
.menu .submenu.active {
display: block;
}
document.addEventListener('DOMContentLoaded', function() {
const menuTitles = document.querySelectorAll('.menu-title');
menuTitles.forEach(function(title) {
title.addEventListener('click', function() {
const submenu = this.nextElementSibling;
if (submenu && submenu.classList.contains('submenu')) {
submenu.classList.toggle('active');
}
});
});
});
display: none
)。当子菜单的父元素(即.submenu
)具有.active
类时,子菜单显示(display: block
)。.menu-title
类的元素。.menu-title
元素添加点击事件监听器。.active
类。.submenu.active
类的样式。.active
类之前,先移除所有子菜单的.active
类,确保一次只有一个子菜单展开。.active
类之前,先移除所有子菜单的.active
类,确保一次只有一个子菜单展开。通过以上方法,你可以实现一个基本的菜单折叠功能,并根据需要进行扩展和优化。
领取专属 10元无门槛券
手把手带您无忧上云