jQuery 是一个快速、小巧且功能丰富的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。多级导航通常指的是一个包含多个层级的菜单系统,用户可以通过点击或悬停来展开或收起子菜单。
以下是一个简单的 jQuery 多级导航示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery 多级导航</title>
<style>
.nav {
list-style: none;
padding: 0;
}
.nav li {
display: inline-block;
position: relative;
}
.nav ul {
display: none;
position: absolute;
top: 100%;
left: 0;
background-color: #fff;
border: 1px solid #ccc;
}
.nav li:hover > ul {
display: block;
}
</style>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<ul class="nav">
<li><a href="#">菜单1</a>
<ul>
<li><a href="#">子菜单1-1</a></li>
<li><a href="#">子菜单1-2</a>
<ul>
<li><a href="#">子菜单1-2-1</a></li>
<li><a href="#">子菜单1-2-2</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">菜单2</a></li>
<li><a href="#">菜单3</a></li>
</ul>
<script>
$(document).ready(function() {
$('.nav li').hover(
function() {
$('ul', this).stop().slideDown(200);
},
function() {
$('ul', this).stop().slideUp(200);
}
);
});
</script>
</body>
</html>
原因:可能是由于 CSS 样式或 JavaScript 逻辑错误导致的。
解决方法:
display
属性在默认情况下是 none
,并且在悬停时能够正确显示。$(document).ready(function() {
$('.nav li').hover(
function() {
$('ul', this).stop().slideDown(200);
},
function() {
$('ul', this).stop().slideUp(200);
}
);
});
通过以上方法,可以确保多级导航菜单能够正常工作。
领取专属 10元无门槛券
手把手带您无忧上云