我使用JQuery在网站的下拉菜单中遇到了一些问题。
基本上,我想要实现的是一个简单的水平下拉菜单,其中包含JQuery的悬停(在Drupal的DHTML菜单模块中)。但是,有些烦恼是我无法解决的。
因此主菜单和他们的孩子<li>
都是链接。当我点击其中一个子菜单时,一切都很好(我被定向到目的地,菜单重置为正常的未发现状态)。但是当我点击父菜单后,到达目的地后,即使下拉菜单重置后,鼠标仍然悬停在链接上方。当我移开鼠标时,这会导致下拉菜单再次短暂激活。
我想要的是,只有当鼠标进入元素时,才会激活下拉列表,而不是在鼠标退出时。我已尝试将.hover()
分隔为.mouseenter()
和.mouseleave()
,但这会导致下拉列表无法正常工作。救命啊!
我的代码如下:
$(li).hover(function(e) {
Drupal.dhtmlMenu.expandMenu($(li));
},
function(e) {
Drupal.dhtmlMenu.collapseMenu($(li));
});
$(li).ready(function(e) {
Drupal.dhtmlMenu.collapseMenu($(li));
});
答案 0 :(得分:1)
绝对不需要在简单的下拉菜单中使用JavaScript。请参阅http://webdesignerwall.com/tutorials/css3-dropdown-menu(使用CSS3,但基本CSS适用于所有浏览器)。纯粹用CSS / HTML
完成答案 1 :(得分:1)
使用Nice Menus模块。它会让你免于头痛。自从3年前开始使用Drupal以来,我一直在使用它。