JavaScript二级下拉菜单是一种常见的网页交互元素,它允许用户通过点击主菜单项来展开或收起子菜单项。下面是一个简单的二级下拉菜单的示例代码,包括HTML、CSS和JavaScript部分。
<!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="dropbtn">产品</a>
<div class="dropdown-content">
<a href="#">产品1</a>
<a href="#">产品2</a>
<a href="#">产品3</a>
</div>
</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>
.navbar {
background-color: #333;
}
.nav-list {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
}
.nav-item {
float: left;
}
.nav-item a, .dropbtn {
display: inline-block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
.nav-item a:hover, .dropdown:hover .dropbtn {
background-color: #111;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}
.dropdown-content a:hover {
background-color: #f1f1f1;
}
.dropdown:hover .dropdown-content {
display: block;
}
// 如果需要使用JavaScript来控制下拉菜单的显示和隐藏,可以使用以下代码
document.addEventListener('DOMContentLoaded', function() {
var dropdowns = document.querySelectorAll('.dropdown');
dropdowns.forEach(function(dropdown) {
dropdown.addEventListener('click', function(event) {
event.preventDefault();
this.querySelector('.dropdown-content').classList.toggle('show');
});
});
// 点击下拉菜单外部时关闭所有下拉菜单
window.addEventListener('click', function(event) {
if (!event.target.matches('.dropbtn')) {
var dropdowns = document.querySelectorAll('.dropdown-content');
dropdowns.forEach(function(dropdown) {
if (dropdown.classList.contains('show')) {
dropdown.classList.remove('show');
}
});
}
});
});
.dropdown-content
的display
属性是否正确设置为none
,并且在:hover
状态下是否设置为block
。通过以上代码和说明,你应该能够创建一个基本的二级下拉菜单,并了解其优势和应用场景。如果遇到具体问题,可以根据上述解决方法进行调试。
领取专属 10元无门槛券
手把手带您无忧上云