jQuery鼠标悬停显示下拉导航菜单特
我们希望当鼠标悬停在导航菜单的某个菜单项上时,能够展开该菜单项对应的子菜单,提供更多的导航选项。
<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>
<li><a href="#">二级菜单1-3</a></li>
</ul>
</li>
<li>
<a href="#">一级菜单2</a>
<ul class="sub-menu">
</ul>
</li>
</ul>
</nav>
nav ul {
list-style: none;
padding: 0;
margin: 0;
}
.sub-menu {
display: none;
position: absolute;
background-color: #f9f9f9;
width: 200px;
}
.nav li:hover .sub-menu {
display: block;
}
$(document).ready(function() {
// 鼠标悬停显示子菜单
$(".nav li").hover(function() {
$(this).find(".sub-menu").stop(true, true).slideDown();
}, function() {
$(this).find(".sub-menu").stop(true, true).slideUp();
});
});
<ul>
和列表项<li>
创建菜单结构,子菜单使用sub-menu
类标识。:hover
伪类控制子菜单的显示与隐藏。hover()
方法为每个菜单项添加鼠标悬停事件。slideDown()
和slideUp()
方法控制子菜单的显示和隐藏。stop(true, true)
用于停止正在进行的动画,确保动画效果流畅。
$(".nav li").click(function() {
$(this).find(".sub-menu").slideToggle();
});
<li><a href="#"><i class="fas fa-home"></i> 首页</a></li>
使用Font Awesome等图标库。
$(this).find(".sub-menu").animate({ opacity: 1 }, 200);
<ul>
和<li>
标签实现多级菜单。通过jQuery,我们可以轻松地创建具有各种动画效果的多级导航菜单。你可以根据自己的需求和设计风格,对上述代码进行定制和扩展。
想了解更多,你可以尝试以下:
如果你有更多的问题,欢迎随时提出!
你可以提出以下问题:
我将竭诚为你解答!