-1

我对 jQuery 完全陌生,所以也许这是一个简单的问题,但直到现在我还没有找到一个好的答案。也许我什至没有找到合适的关键字来搜索......

通过单击一个列表项,我会显示一个具有以下功能的下拉菜单:

$("li.dropdown").click(function(){
    $('.dropdown-menu',this).css("display","block");
});

工作正常,但下拉列表保持不变。现在我希望下拉菜单再次隐藏,当我

a)单击另一个 li.dropdown(然后必须出现新的下拉菜单)或 b)单击页面上的其他位置

当我单击页面上的其他位置而不是 li.dropdown 时,我让它工作,但当我单击另一个 li.dropdown 时(分别然后它不显示新单击的 li 的“新”下拉菜单)。

提前致谢!

4

1 回答 1

0

首先,您需要使用hide()show()

$('.dropdown-menu',this).css("display","block");$('.dropdown-menu',this).show();将选定元素恢复为先前的显示类型相同。因此,如果您的元素在 .hide() 之前设置为 display:inline-block ,那么当您 .show() 时它会再次设置为该元素。

只要了解你需要什么。我们需要一个 jsFiddle 来准确说明您的目标。在您这样做之前,没有人可以准确地回答这个问题。

于 2013-11-08T22:55:09.787 回答