原生JavaScript实现多级菜单通常涉及到DOM操作、事件处理以及可能的递归逻辑。以下是关于原生JS多级菜单的基础概念、优势、类型、应用场景以及常见问题的解答:
多级菜单指的是具有多级嵌套结构的菜单系统,用户可以通过点击或悬停等方式展开或收起子菜单。
多级菜单常用于网站导航、后台管理系统等需要展示多层次结构信息的场景。
<ul id="menu">
<li>
菜单项1
<ul class="submenu">
<li>子菜单项1-1</li>
<li>子菜单项1-2</li>
</ul>
</li>
<li>
菜单项2
<ul class="submenu">
<li>子菜单项2-1</li>
<li>
子菜单项2-2
<ul class="submenu">
<li>子菜单项2-2-1</li>
</ul>
</li>
</ul>
</li>
</ul>
<script>
document.addEventListener('DOMContentLoaded', function() {
const menuItems = document.querySelectorAll('#menu > li');
menuItems.forEach(function(item) {
item.addEventListener('click', function(event) {
event.stopPropagation(); // 阻止事件冒泡
const submenu = this.querySelector('.submenu');
if (submenu) {
submenu.style.display = submenu.style.display === 'block' ? 'none' : 'block';
}
});
});
});
</script>
event.stopPropagation()
阻止事件冒泡,避免触发父元素的事件处理程序。通过原生JavaScript实现多级菜单需要一定的DOM操作和事件处理知识,但可以根据具体需求进行高度定制,提供良好的用户体验。
领取专属 10元无门槛券
手把手带您无忧上云