基本上,我使用slideUp 和slideDown 函数用jquery 创建了一个下拉菜单。一切都很好,直到我发现如果我继续将鼠标悬停在列表中,子按钮的高度将不会停止。我们可以通过左边界扩展看到这一点。有什么办法可以避免这种情况?
我创建了一个小提琴,这样你们就可以知道我在说什么http://jsfiddle.net/WGm8q/
无论如何,这是代码:
JS
$('.button').hover(
function () {
$('.sub', this).stop().slideDown(100);
},
function () {
$('.sub', this).stop().slideUp(100);
}
);
CSS
.menu {
width: 850px;
}
.button .main {
padding-bottom: 5px;
cursor: pointer;
}
.button .sub {
display: none;
margin-left: 10px;
padding: 10px 0 10px 0;
border-left: 1px solid #CCC;
}
.button .sub p {
background-color: #FFF;
margin: 0;
padding-left: 5px;
}
HTML
<div class="menu">
<div class="button">
<div class="main">Menu 1</div>
<div class="sub">
<p>Submenu 1</p>
<p>Submenu 1</p>
<p>Submenu 1</p>
<p>Submenu 1</p>
<p>Submenu 1</p>
<p>Submenu 1</p>
<p>Submenu 1</p>
</div>
</div>
</div>