【发布时间】:2014-11-08 16:50:31
【问题描述】:
我正在尝试一个简单的 jQuery 菜单,在悬停时显示子菜单,如果我使用“显示”和“隐藏”功能,一切正常,但如果我绑定像 slideDown 或 Up 这样的功能,它将重复该功能直到光标离开绑定的 LI 对象。
$('.myMenu > li').on('mouseover', openSM);
$('.myMenu > li').on('mouseout', closeSM);
function openSM() {
$(this).find('ul').show();
};
function closeSM() {
$(this).find('ul').hide();
};
当我将show() 和hide() 设置为slideDown() 和slideUp() 时,它基本上会在其上的所有子菜单上重复。
<li><a href="#">menu item</a>
<ul>
<li><a href="#">sub menu item 1</a></li>
<li><a href="#">sub menu item 2</a></li>
<li><a href="#">sub menu item 3</a></li>
<li><a href="#">sub menu item 4</a></li>
</ul>
</li>
在每个子菜单项上,它都会重复该功能...这意味着它会重复上下滑动。 好吧,我想做的是将它设置为仅在它离开 LI 对象时使用该功能,而不是在它悬停在子菜单时...
我将 bind 替换为 on,但它仍然不适用于 slideDown 和 Up 函数...有什么帮助吗?
【问题讨论】:
-
bind已被弃用一段时间,您应该使用on -
哦,谢谢。你说得对。我的错。