使用依赖性悬停构建悬停导航系统?

时间:2011-09-15 17:44:06

标签: jquery navigation hover mouseover mouseout

嘿,有堆栈溢出船员,

使用jquery构建自定义下拉导航系统时似乎总会出现这个快速问题。现在下拉菜单的理想方案是让父母和孩子都在

  • 标签中,但有时网站的设计不允许这样做。

    假设您有一个包含主要导航项的DIV,另一个包含您的子菜单。

    当您翻转父项时,子菜单会出现,但是当它们是单独的时,滚动状态变得棘手。因此,我将徘徊嵌套以试图绕过它并且它几乎可以工作。

    $("div.primary-nav").mouseenter(function () {
    
        clearTimeout($(this).data('timeoutId'));
        $("div.doormat-nav-wrapper").slideDown("slow");
    
    }).mouseleave(function () {
    
        $("div.doormat-nav-wrapper").mouseenter(function () {
            clearTimeout($(this).data('timeoutId'));
            $("div.doormat-nav-wrapper").slideDown("slow");
        }).mouseleave(function () {
            var someelement = this;
            var timeoutId = setTimeout(function(){ 
            $("div.doormat-nav-wrapper").slideUp("slow");
            $(someelement).data('timeoutId', timeoutId); //set the timeoutId, allowing us to clear this trigger if the mouse comes back over
            });
        });     
    
    });
    

    逻辑上我想要实现的是

    当用户翻过div.primary-nav .... div.doormat-nav-wrapper显示...当滚动主导航时div.doormat-nav-wrapper隐藏了UNLESS div.doormat-nav-包装本身正在徘徊。

    非常感谢任何反馈或建议。谢谢!

  • 1 个答案:

    答案 0 :(得分:0)

    我相信这与我之前回答的完全一样:

    jQuery: Mousover on a div open submenu which should stay open when mouseout