在JavaScript中实现菜单点击展开的功能,通常涉及到DOM操作和事件处理。以下是一个基础的实现示例,以及相关概念的解释:
<ul class="menu">
<li>
<span class="menu-item">菜单1</span>
<ul class="submenu">
<li>子菜单1-1</li>
<li>子菜单1-2</li>
</ul>
</li>
<li>
<span class="menu-item">菜单2</span>
<ul class="submenu">
<li>子菜单2-1</li>
<li>子菜单2-2</li>
</ul>
</li>
</ul>
.submenu {
display: none; /* 默认隐藏子菜单 */
}
.submenu.active {
display: block; /* 展开时显示子菜单 */
}
document.addEventListener('DOMContentLoaded', function() {
const menuItems = document.querySelectorAll('.menu-item');
menuItems.forEach(function(item) {
item.addEventListener('click', function() {
const submenu = this.nextElementSibling;
if (submenu && submenu.classList.contains('submenu')) {
submenu.classList.toggle('active'); // 切换子菜单的显示状态
}
});
});
});
.active
类来控制子菜单的显示。.active
类,从而控制子菜单的显示和隐藏。.submenu
的初始状态为display: none;
。.active
类。.active
类之前,先移除所有子菜单的.active
类,确保一次只有一个子菜单展开。.active
类之前,先移除所有子菜单的.active
类,确保一次只有一个子菜单展开。通过以上方法,你可以实现一个基本的点击展开菜单功能,并根据需要进行扩展和优化。
领取专属 10元无门槛券
手把手带您无忧上云