Аккордеон / несколько экземпляров - только один открытый - PullRequest
0 голосов
/ 29 ноября 2010

Я использую пользовательский аккордеон.

У меня есть несколько экземпляров одного и того же аккордеона на одной странице.

, поскольку он дублирован одним и тем же аккордеоном, ссылки внутри него имеют одинаковое значение href, так что каждый аккордеон открыт ... но мне нужен только один ОТКРЫТЫЙ аккордеон, тот, с которого пришел щелчок.

Возможно ли это?Может ли кто-нибудь помочь мне с этим?

спасибо.

$('#nav ul li').accordion({ 
        active: 'a.current',
        header: '.head', 
        navigation: true, 
        event: 'click', 
        //fillSpace: true, 
        animated: 'easeslide',
        collapsible: true,
        autoHeight: false
    });




      $("#nav ul li").each(function () {
        var li = $(this);
        var a = li[0].firstChild;
        if (a.href == location.href) {
            $(a).addClass("current");
        }
    });

Ответы [ 2 ]

0 голосов
/ 26 января 2011

Может быть попробовать что-то вроде этого:

$(".ac-menu").accordion({
    "header": "a.menuitem"
})
.bind("accordionchangestart", function(e, data)
{
    data.newHeader.next().andSelf().addClass("current");
    data.oldHeader.next().andSelf().removeClass("current");
})
.find("a.menuitem:first").addClass("current")
.next().addClass("current");
0 голосов
/ 29 ноября 2010

Вам нужно внедрить (это) в свой код jquery, можете ли вы опубликовать свой текущий код, чтобы мы могли видеть

Единственное, о чем я могу думать, это:

$('#nav ul li', this).accordion({ 
    active: 'a.current',
    header: '.head', 
    navigation: true, 
    event: 'click', 
    //fillSpace: true, 
    animated: 'easeslide',
    collapsible: true,
    autoHeight: false
});
...