子菜单在当前页面打开,在单击其他菜单项时关闭

时间:2013-08-04 11:16:59

标签: jquery menu submenu current-page

我正在努力使用带有子菜单的水平菜单。我知道这是一个经常出现的问题,我已经阅读了类似的问题并尝试了许多建议的解决方案但收效甚微。当然,有些问题是具体的或过时的。

我希望子菜单在打开子页面时保持可见状态。此外,我希望一个子菜单在另一个子菜单打开时关闭。

我发现了一个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 个答案:

没有答案