Отображение подменю в jquery

Вот ссылка на сайт тестирования. Я столкнулся с проблемой отображения подменю ссылки

В этой панели навигации «почему Стокгольм», когда я наводил на нее курсор, также отображалось подменю, и когда я наводил курсор на подменю, он работал нормально, что я делаю неправильно, кто-то очень ценит ..

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

person Community    schedule 29.01.2013    source источник
comment
Пожалуйста, опубликуйте код (но не весь)   -  person Explosion Pills    schedule 30.01.2013
comment
Я добавил код js, а также ссылку для тестирования   -  person    schedule 30.01.2013


Ответы (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();
        });
person Barlas Apaydin    schedule 30.01.2013