我的破解jQuery下拉菜单使用悬停()

时间:2010-06-21 04:47:09

标签: javascript jquery jquery-plugins

我有一个html链接,它使用hover()(好吧,hoverIntent插件......但相同的区别)来触发div到slidedown(我为CSS top属性设置动画)。

除了当鼠标移出超链接并移动到包含菜单链接的div上时,它全部工作并且看起来很完美,它会立即触发mouseleave事件并且菜单消失。

显然,在注意到这个“错误”之前,我在无休止地调整之后觉得有些愚蠢。

问题是:我无法找到实现我想要的效果的方法。

这是我工作的链接: http://clifgriffin.com/blockade

哦,专家们,你们将如何完成我想要做的事情?

我尝试将鼠标输入和鼠标离开功能分开...将前者添加到链接中,将后者添加到div中,但这不能正常工作,即使我解决了这个怪癖,也不会当您悬停链接然后向上移动时,t触发鼠标正确离开。

基本上,只要将鼠标从链接移动到菜单不会触发mouseleave,我就没事了。

我真的不想为每个菜单设置一个布尔值,并在菜单周围的每个元素上设置一堆事件来触发某些操作。这必须比这更简单。

有什么想法吗?

提前致谢, 克里夫

1 个答案:

答案 0 :(得分:0)

试试这个:

var accoIn = function(){
 topSlideIn($("#top_menu_slideout .aco"));
 $("#top_menu_links .accommodations").unbind("mouseover");      
};

$("#top_menu_links .accommodations").hoverIntent(accoIn,function(){});

$("#top_menu_slideout .aco").hoverIntent(function(){},function(){
 topSlideOut($("#top_menu_slideout .aco"));     
 $("#top_menu_links .accommodations").hoverIntent(accoIn,function(){});
});