JavaScript 三级菜单是一种常见的网页导航结构,它允许用户通过多级下拉菜单来访问网站的不同部分。以下是关于 JavaScript 三级菜单的基础概念、优势、类型、应用场景以及常见问题和解决方法。
三级菜单通常由三个层次的嵌套列表组成。每个层次可以展开或折叠,以显示或隐藏子菜单项。
以下是一个简单的静态三级菜单的 HTML 和 JavaScript 示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>三级菜单示例</title>
<style>
ul {
list-style-type: none;
padding: 0;
}
li {
cursor: pointer;
}
.sub-menu {
display: none;
}
</style>
</head>
<body>
<ul id="menu">
<li>菜单1
<ul class="sub-menu">
<li>子菜单1-1
<ul class="sub-menu">
<li>子菜单1-1-1</li>
<li>子菜单1-1-2</li>
</ul>
</li>
<li>子菜单1-2</li>
</ul>
</li>
<li>菜单2
<ul class="sub-menu">
<li>子菜单2-1</li>
<li>子菜单2-2</li>
</ul>
</li>
</ul>
<script>
document.addEventListener('DOMContentLoaded', function() {
const menuItems = document.querySelectorAll('#menu > li');
menuItems.forEach(item => {
item.addEventListener('click', function(event) {
event.stopPropagation();
const subMenu = this.querySelector('.sub-menu');
if (subMenu) {
subMenu.style.display = subMenu.style.display === 'block' ? 'none' : 'block';
}
});
});
document.addEventListener('click', function() {
const subMenus = document.querySelectorAll('.sub-menu');
subMenus.forEach(menu => {
menu.style.display = 'none';
});
});
});
</script>
</body>
</html>
event.preventDefault()
阻止默认行为。通过以上信息,你应该能够理解 JavaScript 三级菜单的基本概念、优势、类型、应用场景,并掌握常见问题的解决方法。
领取专属 10元无门槛券
手把手带您无忧上云