2012-04-05 9 views
5

Ich habe ein Akkordeon-Menü mit dem folgenden Code erstelltJQuery Akkordeon, wie bestimmte Header öffnen Skript

<h3>Level 1</h3> 
    <div>Content</div> 
<h3>Level 2</h3> 
    <div>Content</div> 
<h3>Level 3</h3> 
    <div>Content</div> 

ich die verschiedenen Level-Header mit Code öffnen möge. Ich habe versucht, Akkordeon und Widgets Code zu suchen, konnte aber keine Funktion dafür finden.

Bitte helfen Sie mir, welcher Code verwendet werden sollte, um einen bestimmten Header zu öffnen. Auch, wie man findet, ob der Kopf, der sich öffnen sollte, bereits offen ist oder nicht.

Ich habe auch versucht

mit
$("#rightMenuAccordion").activate('activate',1) 

als here aufgeführt, aber es sagt, dass es nicht

existiert

Dies ist der Code, den ich Akkordeon

<div id="rightMenuAccordion" 
    style="position:absolute;width:100%;height:100%;left:0px;top:0px;"></div> 

$("#rightMenuAccordion"). 
    accordion({autoHeight: false, navigation: true, collapsible: false}); 
+0

Bitte posten Sie die Antwort als separate Antwort. Bearbeiten Sie den Post nicht. Bitte erläutern Sie auch die Antwort, benutzen Sie nicht eine einzige Codezeile, stellen Sie einen Kontext zur Verfügung. Ich habe die Antwort bearbeitet, aber Sie können [siehe die Geschichte als Referenz] (http://stackoverflow.com/revisions/10024447/1). – casperOne

+0

fügen Sie bitte eine jsfiddle [www.jsfiddle.net], das ist die richtige Weise, das Problem zu debuggen – sakhunzai

Antwort

3

Verwendung activate erstellen bin mit() FUNCTION

siehe vollständig example

HINWEIS: activate() Methode funktioniert nur "zusammenklappbar: true"

$("#rightMenuAccordion"). 
    accordion({autoHeight: false, navigation: true, collapsible: true}); 

//by index 
$("#rightMenuAccordion").accordion("option", "active", 2); 

//OR header 
$("h3:last").accordion("activate",true); 
0

das Akkordeon initialisieren und den aktiven Kopfindex passieren

//setter for making the header be open on page load with active index value 
$(".selector").accordion("option","active",activeIndex); 

Hinweis geöffnet werden: activeIndex oben sollte ein ganzzahliger Wert und keine Zeichenfolge sein. Der erste Header beginnt mit dem Indexwert 0.

+0

Kleine Anmerkung, wenn Ihr Akkordeon nur eine einzige Option (dh 1 Index) hat, müssen Sie noch den aktiven Index = 0 oder nichts setzen wird passieren. –

+0

@DominicWoodman bist du sicher? .. auch wenn du den einzelnen Option Header nicht aktivierst, wird er standardmäßig geöffnet ... du musst die Option nicht explizit angeben..just $ ('selector'). Accordion(); Wird besorgt.. – Lucky

0

var indexOfHeaderToBeOpened = 0;

$ ("# Akkordeon"). Akkordeon ('activate', indexOfHeaderToBeOpened);