0

嘿那里堆栈溢出船员,

使用 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 隐藏除非 div.doormat-nav-wrapper 本身是被悬停在上面。

    任何反馈或建议将不胜感激。谢谢!

  • 4

    1 回答 1

    0

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

    jQuery:鼠标悬停在 div 打开子菜单上,鼠标移出时应保持打开状态

    于 2011-09-15T17:52:26.853 回答