Tobias ScheibleCybercrime Dozent & Live Hacking Speaker
jQuery - User Interface

Akkordeon Effekt mit jQuery UI

Informationen übersichtlich zu strukturieren ist ein wichtiger Bestandteil der Usability. Besonders geeignet ist der Akkordeon Effekt. Mit dem jQuery UI Widget Accordion lässt sich dieser leicht realisieren. Das nachträgliche Ändern benötigt allerdings einen kleinen Trick.

Der Aufbau des HMTL-Gerüsts des Akkordeons von jQuery UI ist sehr einfach:

<div id="accordion">	<h3><a href="#">Bereich 1</a></h3>	<div>	<p>Text 1</p>	</div>	<h3><a href="#">Bereich 2</a></h3>	<div>	<p>Text 2</p>	</div>	<h3><a href="#">Bereich 3</a></h3>	<div>	<p>Text 3</p>	</div>
</div>

Anschließend erfolgt die Initialisierung per JavaScript mit jQuery:

$( "#accordion" ).accordion();

Ein neuer Bereich kann mit der jQuery Funktion .append()(http://api.jquery.com/append/) hinzugefügt werden:

$('#accordion').append('<h3><a href="#">Bereich 4</a></h3><div><p>Text 4</p></div>');

Allerdings wird dieser neue Bereich nicht korrekt angezeigt und kann nicht aufgeklappt werden, weil jQuery diese Elemente noch nicht kennt. Ein einfaches neues Initialisieren mit .accordion() funktioniert nicht, da die entsprechenden Klassen für die HTML-Elemente schon gesetzt sind. Stattdessen muss das Akkordeon komplett zurückgesetzt (zerstört) werden und wieder neu initialisiert werden:

$( "#accordion" ). accordion('destroy').accordion();

Über Tobias Scheible

Tobias Scheible

Hallo, mein Name ist Tobias Scheible. Ich bin begeisterter Informatiker und Sicherheitsforscher mit den Schwerpunkten Cyber Security und IT-Forensik. Mein Wissen teile ich gerne anhand von Fachartikeln hier in meinem Blog und in meinem Fachbuch. Als Referent halte ich Vorträge und Workshops für Verbände und Unternehmen u. a. auch offene Veranstaltungen für den VDI und die IHK.