1

这是测试站点链接。我遇到了显示子菜单 链接的问题

在那个导航栏中“为什么斯德哥尔摩”当我悬停它时,也显示了子菜单,当我悬停子菜单时它的工作正常,我做错了任何人都非常感谢..

(function($){

    //cache nav
    var nav = $("#topNav");

    //add indicator and hovers to submenu parents
    nav.find("li").each(function() {
        if ($(this).find("ul").length > 0) {
            $("<span>").text("").appendTo($(this).children(":first"));

            //show subnav on hover
            $(this).mouseenter(function() {
                $(this).find("ul").stop(true, true).slideDown();
            });

            //hide submenus on exit
            $(this).mouseleave(function() {
                $(this).find("ul").stop(true, true).slideUp();
            });
        }
    });
})(jQuery);
4

1 回答 1

1

您应该使用children()而不是find(). 当您使用find('ul')它时,它会在您的选择器中使用所有ul内容。

这是工作的jsFiddle。

        //show subnav on hover
        $(this).mouseenter(function() {
            $(this).children("ul").stop(true, true).slideDown();
        });

        //hide submenus on exit
        $(this).mouseleave(function() {
            $(this).children("ul").stop(true, true).slideUp();
        });
于 2013-01-30T00:10:21.573 回答