代码之家  ›  专栏  ›  技术社区  ›  clifgriffin

我的坏jquery滑下菜单使用hover()。

  •  0
  • clifgriffin  · 技术社区  · 15 年前

    我有一个HTML链接,它使用了hover()(好吧,hoverintent插件……但是有相同的区别)来触发一个DIV到slidedown(我设置了CSS top属性的动画)。

    除了当鼠标从超链接移到包含菜单链接的DIV上时,它会立即触发mouseleave事件,菜单就会消失。

    很明显,在注意到这个“臭虫”之前,我不断地调整它,感觉有点愚蠢。

    问题是:我真的想不出一个方法来达到我想要的效果。

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

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

    我试图将鼠标输入和鼠标离开功能分开……将前者添加到链接,后者添加到DIV,但这并不完全正确,即使我解决了这个问题,当您悬停链接然后向上移动时,它也不会触发鼠标离开。

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

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

    有什么想法吗?

    事先谢谢, 克里夫

    1 回复  |  直到 15 年前
        1
  •  0
  •   Balint Pato    15 年前

    试试这个:

    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(){});
    });