4

我有一个简单的 jQuery 手风琴,它可以工作......几乎完美:)

正如您从演示中看到的那样,我目前在“团队”页面中的导航“打开”。

当我单击“关于我们”时,是否有可能完全关闭该元素。正如您从演示中看到的那样,它会关闭它,很快就会重新打开它。我猜这是因为我的 CSS第 27 行的代码。

这是我的演示:http: //jsfiddle.net/URYzK/5/

这是我的 JavaScript:

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

});

非常感谢这里的任何帮助。

4

1 回答 1

0

display:none从CSS中删除#accordian ul并完全删除。.children我相信这会产生你想要的行为。你让孩子们ul成为display:none,然后试图强迫.children,这是一个uldisplay:block以后,这就是他们战斗的原因。

也更新了你的 jsFiddle。

于 2013-03-05T15:11:05.700 回答