2017-09-03 101 views
0

看着本凯门斯jquery-menu-aim,我偶然发现在codepen的一个例子。Ben Kamens jQuery菜单目的:子菜单不会重新出现后,它消失

这(codepen)的作品,并允许用户的时间从主菜单传递到子菜单,但如果你完全离开菜单子菜单仍然继续显示,即它(子菜单)不会消失(显示:无)。

于是,我重新创建同样的例子在codepen上JsFiddle和改变了的Javascript

$(document).click(function() { 
    $('a.hover').removeClass('hover'); 
    $('.popover').css('display', 'none'); 
} 

到:现在

$(document).click(function() { 
    $('a.hover').removeClass('hover'); 
    $('.nav ul ul').css('display', 'none'); 
} 

,如果您按一下网页上的任何地方页面,除了菜单/子菜单之外,子菜单也会消失。

问题:如果再次悬停主菜单,子菜单将不会再次出现。

我该如何解决这个问题?

编辑:是否有一个替代jQuery/JavaScript的jQuery的菜单目标?

+0

你在添加悬停类单击看来我错了 –

+0

如果我删除了悬停类,主菜单仍然是一个悬停状态,即悬停状态停留的背景颜色,而子菜单消失,我试过了,但悬停不是我正在看。 –

+0

你完全消除悬停类,因此它不会再次工作。这可以通过使用css来实现。 :重点和:悬停。根本不需要js。 –

回答

0

我觉得你想要什么需要enterexit而不是activatedeactivate

你看过documentation吗?

这里是your Fiddle Updated

$menu.menuAim({ 
    enter: activateSubmenu, 
    exit: deactivateSubmenu 
}); 
+0

这是行不通的。当您尝试将鼠标从主菜单“1”移动到子菜单“7”时,子菜单消失。请检查。 –

+0

这是因为你正在退出菜单。你可以在退出函数中使用超时,这样菜单会在退出后关闭几秒钟......让你有时间从1到7.我更新了小提琴。 –

+0

谢谢......对不起,我没有阅读文档,但我应该有。再次感谢你。 –