Подменю открывается на текущей странице и закрывается при нажатии другого пункта меню

Я борюсь с горизонтальным меню с подменю. Я понимаю, что это частый вопрос, и я прочитал похожие вопросы и попробовал многие из предложенных решений с небольшим успехом. Конечно, некоторые из вопросов являются конкретными или устаревшими.

Я хочу, чтобы подменю оставалось видимым, когда открыта дочерняя страница. Также я хочу закрыть одно подменю при открытии другого.

Я нашел jquery (1.7.2), который должен помочь мне с обеими проблемами. Несмотря на то, что ему один год, я хотел попробовать его, потому что он выглядел очень аккуратно: http://forum.jquery.com/topic/slidetoggle-in-wordpress-menu-only-show-one-submenu-at-a-time

jQuery(document).ready(function($) {
    var $j = jQuery.noConflict();
    $j.fn.setNav = function () {
    $j('#nav ul li').css({
        display: 'none'
    });
    $j('ul#nav > li:has( ul li.current-menu-item )').each(function () {
        $j(this).find('ul.sub-menu').css({
            overflow: 'visible',
            height: 'auto',
            display: 'block'
        });
    });
    $j('ul#nav > li:has( ul.sub-menu )').click(function () {
        var $jsublist = jQuery(this).find('ul:first');
                $('.visible').slideUp('fast')
        $jsublist.slideToggle('fast').addClass('visible');
        return false;
    });
    $j('ul#nav > li > ul.sub-menu li ').click(function () {
        var subURL = $j(this).find('a:first').attr('href');
        location.href = subURL;
        return true;
    });
}
});

Но это не работает. (Я добавил

var $j = jQuery.noConflict();

)

Что я делаю неправильно?

Вот скрипка: http://jsfiddle.net/CP8Er/17/

Я был бы очень признателен за помощь в этом. Я борюсь с jquery и надеюсь, что ваши опытные глаза смогут увидеть проблемы, которые до сих пор не очевидны для меня.

0 ответов

Другие вопросы по тегам