jQuery垂直二级导航是一种常见的网页导航结构,它允许用户通过点击一级菜单项来展开或收起对应的二级菜单项。以下是一个简单的示例代码,展示了如何使用jQuery实现垂直二级导航。
<!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="vertical-nav">
<ul>
<li>
<a href="#">菜单1</a>
<ul class="sub-menu">
<li><a href="#">子菜单1-1</a></li>
<li><a href="#">子菜单1-2</a></li>
</ul>
</li>
<li>
<a href="#">菜单2</a>
<ul class="sub-menu">
<li><a href="#">子菜单2-1</a></li>
<li><a href="#">子菜单2-2</a></li>
</ul>
</li>
<li><a href="#">菜单3</a></li>
</ul>
</nav>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="scripts.js"></script>
</body>
</html>
/* styles.css */
.vertical-nav {
width: 200px;
}
.vertical-nav ul {
list-style: none;
padding: 0;
}
.vertical-nav li {
position: relative;
}
.vertical-nav a {
display: block;
padding: 10px;
text-decoration: none;
color: #333;
}
.vertical-nav .sub-menu {
display: none;
position: absolute;
top: 0;
left: 100%;
background-color: #fff;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.vertical-nav li:hover > .sub-menu {
display: block;
}
// scripts.js
$(document).ready(function() {
$('.vertical-nav > ul > li').hover(
function() {
$(this).find('.sub-menu').stop(true, true).slideDown();
},
function() {
$(this).find('.sub-menu').stop(true, true).slideUp();
}
);
});
.sub-menu
样式正确设置,并且没有其他CSS规则覆盖它。.stop(true, true)
方法清除之前的动画队列,确保每次悬停时动画都能流畅执行。通过以上代码和解释,你应该能够实现一个基本的垂直二级导航,并理解其背后的原理和应用场景。
领取专属 10元无门槛券
手把手带您无忧上云