jQuery Accordion的基本问题

时间:2013-03-17 18:47:01

标签: javascript jquery html css accordion

我正在使用jQuery Accordion进行侧边栏导航。目前我有2个链接,它们下面都有“孩子”。

这是我的jsFiddle:http://jsfiddle.net/6Eh8C/

您会注意到,当您点击“关于我们”时,图库会关闭。这不应该发生。只有在点击“图库”时才能关闭图库。

我该如何解决这个问题?

这是我的jQuery:

jQuery(function($) {

        $('#accordion > li > a').click(function (e) {
            if ($(this).next('ul').length == 0) {
                // link is for navigation, do not set up accordion here
                return;
            }

            // link is for accordion pane

            //remove all the "Over" class, so that the arrow reset to default
            $('#accordion > li > a').not(this).each(function () {
                if ($(this).attr('rel')!='') {
                    $(this).removeClass($(this).attr('rel') + 'Over');
                }

                $(this).siblings('ul').slideUp("slow");
            });

            //showhide the selected submenu
            $(this).siblings('ul').slideToggle("slow");

            //addremove Over class, so that the arrow pointing downup
            $(this).toggleClass($(this).attr('rel') + 'Over');
            e.preventDefault();
        });     

        $('.slides_item').children('div').css('background','#ededed')

    });

非常感谢任何指示: - )

1 个答案:

答案 0 :(得分:0)

我想你只想删除一行:

$('#accordion > li > a').not(this).each(function () {
    if ($(this).attr('rel')!='') {
        $(this).removeClass($(this).attr('rel') + 'Over');
    }

    // Remove this line, you don't want to slide up other uls.
    // $(this).siblings('ul').slideUp("slow");
});

示例: http://jsfiddle.net/6Eh8C/1/