2017-03-22 3 views
1

Ich benutze ein jQuery Akkordeon, aber ich habe ein kleines Problem: Basierend auf einigen Bedingungen, könnte mein Akkordeon die erste aktiviert H3 die zweite oder dritte sein. Die ersten, die ich deaktiviere, indem ich ihnen diese Klasse "ui-state-disabled" hinzufüge.jQuery Accordion erweitern zuerst aktiviert Panel

Mein Akkordeon sieht wie folgt aus:

$("#accordion").accordion({ 
     active: true, 
     animate: false, 
     collapsible: true, 
     heightStyle: "content", 
     icons: icons 
    }); 

Gibt es eine Möglichkeit, so dass das Akkordeon die erste aktiviert Abschnitt nur erweitern? Wenn ich jetzt aktiv: 0 setze und das erste Element deaktiviert ist, wird es trotzdem erweitert.

Irgendwelche Vorschläge?

+0

Sie möchten zuerst Akkordeon deaktiviert und nicht erweiterbar machen? – azs06

+0

Ich kann den ersten Abschnitt deaktiviert und nicht erweiterbar machen, ich möchte das Akkordeon den ersten nicht deaktivierten Abschnitt automatisch öffnen –

+0

Haben Sie versucht, aktiv zu ersten nicht deaktivierten Abschnitt, wie 'active: 1', etwas wie diese https: // jsbin.com/giniyan/edit?html,js,output – azs06

Antwort

2

Dies ist möglicherweise nicht die meisten elegant von Lösungen, aber es wird funktionieren. Sie müssen den Index des ersten H3 innerhalb des #accordion Elements finden, das nicht die Klasse .ui-state-disabled hat ... also hier ist das.

Sie können dies auch schon erkennen, aber Sie werden in der Lage zu öffnen deaktiviert Abschnitte entfernen möchten, so warf ich, dass in.

$("#accordion").accordion({ 
    active: $('h3:not(.ui-state-disabled):first').index('#accordion h3'), 
    animate: false, 
    collapsible: true, 
    heightStyle: "content", 
    icons: icons 
}); 

$(".ui-state-disabled").unbind("click"); 

Demo on Codepen

hinzufügen bearbeitet zurück in Ihrem icons: icons

+0

Vielen Dank so sehr. –

Verwandte Themen