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>
.menu {
list-style: none;
padding: 0;
}
.menu li {
position: relative;
}
.submenu {
display: none;
position: absolute;
top: 0;
left: 100%;
background-color: #fff;
border: 1px solid #ccc;
}
.submenu li {
width: 200px;
}
</style>
</head>
<body>
<ul class="menu">
<li>菜单1
<ul class="submenu">
<li>子菜单1-1
<ul class="submenu">
<li>子菜单1-1-1</li>
<li>子菜单1-1-2</li>
</ul>
</li>
<li>子菜单1-2</li>
</ul>
</li>
<li>菜单2
<ul class="submenu">
<li>子菜单2-1</li>
<li>子菜单2-2</li>
</ul>
</li>
</ul>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
$('.menu > li').hover(function() {
$(this).find('.submenu').stop(true, true).slideDown();
}, function() {
$(this).find('.submenu').stop(true, true).slideUp();
});
});
</script>
</body>
</html>stop(true, true) 方法停止当前动画并立即完成当前动画,避免动画队列堆积。touchstart 和 touchend 事件替代 mouseenter 和 mouseleave 事件。通过以上方法,可以有效解决 jQuery 三级菜单在实际应用中遇到的常见问题。