导航菜单三层切换指的是在网页上实现一个包含三级选项的导航菜单,用户可以通过点击不同层级的菜单项来展开或收起子菜单。这种交互设计常见于大型网站或应用中,用以提供清晰的结构和便捷的用户体验。
以下是一个简单的三层导航菜单的JavaScript实现示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>三级导航菜单</title>
<style>
.menu { display: none; }
.active { display: block; }
</style>
</head>
<body>
<ul id="navMenu">
<li><a href="#" onclick="toggleMenu('sub1')">菜单1</a>
<ul class="menu" id="sub1">
<li><a href="#" onclick="toggleMenu('sub1_1')">子菜单1-1</a>
<ul class="menu" id="sub1_1">
<li>选项1-1-1</li>
<li>选项1-1-2</li>
</ul>
</li>
<li><a href="#" onclick="toggleMenu('sub1_2')">子菜单1-2</a>
<ul class="menu" id="sub1_2">
<li>选项1-2-1</li>
<li>选项1-2-2</li>
</ul>
</li>
</ul>
</li>
<!-- 其他菜单项... -->
</ul>
<script>
function toggleMenu(id) {
var menu = document.getElementById(id);
if (menu.classList.contains('active')) {
menu.classList.remove('active');
} else {
// 首先关闭所有打开的菜单
var allMenus = document.querySelectorAll('.menu.active');
allMenus.forEach(function(m) {
m.classList.remove('active');
});
// 然后打开当前点击的菜单
menu.classList.add('active');
}
}
</script>
</body>
</html>
toggleMenu
函数确保每次只展开一个菜单,并且正确地添加和移除CSS类。通过以上方法,可以有效实现并维护一个稳定且用户友好的三级导航菜单。
领取专属 10元无门槛券
手把手带您无忧上云