- 当鼠标移入一级菜单,显示二级菜单,当鼠标移出时,不显示二级菜单
- 在使用动画效果时,可以在动画执行之前,执行stop方法,停止之前执行的动画,避免上次执行的动画对当前执行动画的影响
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>下拉菜单</title>
<style>
* {
margin: 0;
padding: 0;
}
.nav {
list-style: none;
width: 300px;
height: 50px;
margin: 100px auto;
background-color: bisque;
}
.nav > li {
float: left;
width: 100px;
height: 50px;
line-height: 50px;
text-align: center;
}
.sub {
list-style: none;
background-color: aquamarine;
display: none;
}
</style>
<script src="./js/jquery-3.5.1.js"></script>
<script>
$(function () {
$(".nav>li").mouseenter(function () {
const $sub = $(this).children(".sub")
$sub.stop()
$sub.slideDown(1000)
})
$(".nav>li").mouseleave(function () {
const $sub = $(this).children(".sub")
$sub.stop()
$sub.slideUp(1000)
})
})
</script>
</head>
<body>
<ul class="nav">
<li>一级菜单
<ul class="sub">
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
</ul>
</li>
<li>一级菜单
<ul class="sub">
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
</ul>
</li>
<li>一级菜单
<ul class="sub">
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
</ul>
</li>
</ul>
</body>
</html>