正如我在问题的标题中所说,我创建了一个带有两个下拉框的导航栏。问题是当我试图用悬停打开一个菜单时(它只与一个下拉框完美配合),第二个打开同一时间。这是我创建的脚本。任何建议都会非常愉快地被接受!
<script>
$(document).ready(function () {
$(".dropdown").hover(
function () {
$("ul.dropdown-menu").slideDown("medium").stop(true,true);
},
function () {
$("ul.dropdown-menu").slideUp("medium").stop(true,true);
}
);
});
</script>
答案 0 :(得分:1)
这是因为$("ul.dropdown-menu")
是所有ul
元素的jQuery对象表示,它们是classe dropdown-menu
。同样适用于$(".dropdown")
。
您可以使用each()
来解决此问题。
迭代jQuery对象,为每个匹配的对象执行一个函数 元件。
在回调函数中,使用$(this)
访问每个jQuery对象,使用:eq
来获取$("ul.dropdown-menu")
的第n个对象(它是从0开始的,因此第一个对象是{{1 }})。
:eq(0)
答案 1 :(得分:0)
为每个下拉菜单提供id,并通过id调用.hover(),如此
$("#firstDropdown").hover();
$("#secDropdown").hover();