1
我试图找出一种干净的方式来显示下拉菜单,并在离开时使其消失。这听起来像是小菜一碟,但它不是因为ul/li层次结构。jQuery - 下拉菜单显示/隐藏
这是菜单结构:
<li class="has-submenu navigation-link">
<a href="<link>">TEST</a>
<ul class="submenu menu vertical" data-submenu="">
<a href="<link>">TEST</a>
</ul>
</li>
默认情况下,.submenu设置为显示:无
我用下面的jQuery:
$(".has-submenu").hover(function()
{
$(this).children('ul').slideDown();
});
$(".submenu").mouseout(function()
{
$(this).delay(800).fadeOut(100);
});
当我走了过来。有子菜单,第二个div显示出来,但是当我离开时,div会消失,然后再次出现,因为离开.submenu时,我也一路点击.has-menu。
有没有办法避免在我的出路达到预期效果的主要股利?
感谢
洛朗
普利文的回答是伟大的,我喜欢它,为它的风格简洁。我使用的另一种方法是将下拉框放在DIV中,并在完成使用后调用函数onblur或onchange以使其消失。 – OverlordvI
@OverlordvI我们可以完全避免JavaScript。这就是我的想法。 –
我喜欢它!我将使用你的代码来完成我自己的一些项目。 – OverlordvI