这是jsfiddle:
由于我需要在单页面布局上使用它,我需要在单击链接时停止关闭下拉列表
//when I click dropdown menu
$('.sbr-dropdown').click(function(){
//find list items
$(this).find("ul").each(function(){
//if dropdown is hidden, show it
if ($(this).css('display') == 'none'){
$(this).fadeIn("slow");
}
else //if dropdown is visible, hide it
{
$(this).fadeOut('slow');
}
});
});
<div id="sbr">
<div class="sbr-logo">Drop</div>
<ul class="sbr-menu">
<li class="sbr-item sbr-dropdown">Unsere Websites
<ul class="sbr-submenu">
<li><a href="#seite1">Hansestadt Stralsund</a></li>
<li><a href="#seite2">Andere Alternative</a></li>
<li><a href="#seite3">Noch eine Seite</a></li>
</ul>
</li>
<li class="sbr-item">Hansestadt</li>
<li class="sbr-item sbr-dropdown">Einstellungen
<ul class="sbr-submenu">
<li><a href="#seite1">Hansestadt Stralsund</a></li>
<li><a href="#seite2">Andere Alternative</a></li>
<li><a href="#seite3">Noch eine Seite</a></li>
</ul>
</li>
</ul>
</div>
只有在点击下拉列时
才需要关闭下拉列表答案 0 :(得分:3)
要在点击时停止fadeOut,您只需删除else
条件:
$('.sbr-dropdown').click(function() {
$(this).find("ul").each(function() {
if ($(this).css('display') == 'none') {
$(this).fadeIn("slow");
}
});
});
或者,您可以[{1}}元素本身的点击事件stopPropagation
:
a
答案 1 :(得分:1)