二级菜单导航是一种常见的网页设计元素,用于展示多层次的菜单结构。通过JavaScript和CSS可以实现动态的、交互式的二级菜单效果。
适用于需要展示多层次内容的网站,如电商平台、新闻网站、企业官网等。
以下是一个简单的下拉式二级菜单导航的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>二级菜单导航</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<nav class="navbar">
<ul class="nav-list">
<li class="nav-item"><a href="#">首页</a></li>
<li class="nav-item dropdown">
<a href="#" class="dropdown-toggle">产品</a>
<ul class="dropdown-menu">
<li><a href="#">产品1</a></li>
<li><a href="#">产品2</a></li>
<li><a href="#">产品3</a></li>
</ul>
</li>
<li class="nav-item"><a href="#">关于我们</a></li>
<li class="nav-item"><a href="#">联系我们</a></li>
</ul>
</nav>
<script src="script.js"></script>
</body>
</html>body {
font-family: Arial, sans-serif;
}
.navbar {
background-color: #333;
}
.nav-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
}
.nav-item {
position: relative;
}
.nav-item a {
display: block;
padding: 15px 20px;
color: #fff;
text-decoration: none;
}
.dropdown-menu {
display: none;
position: absolute;
top: 100%;
left: 0;
background-color: #333;
list-style: none;
padding: 0;
margin: 0;
min-width: 150px;
}
.dropdown-menu li a {
padding: 10px 20px;
}
.dropdown:hover .dropdown-menu {
display: block;
}document.addEventListener('DOMContentLoaded', function() {
const dropdownToggles = document.querySelectorAll('.dropdown-toggle');
dropdownToggles.forEach(toggle => {
toggle.addEventListener('click', function(event) {
event.preventDefault();
const dropdownMenu = this.nextElementSibling;
dropdownMenu.classList.toggle('show');
});
});
window.addEventListener('click', function(event) {
if (!event.target.matches('.dropdown-toggle')) {
const dropdownMenus = document.querySelectorAll('.dropdown-menu');
dropdownMenus.forEach(menu => {
if (menu.classList.contains('show')) {
menu.classList.remove('show');
}
});
}
});
});.dropdown-menu的display属性设置为none。通过以上示例代码和解释,你应该能够实现一个基本的二级菜单导航,并解决常见的显示问题。