Bookmarken Twitter Feed

Expandable List Javascript – jQuery Plugin

28. August 2009 | In: Javascript

Dieses jQuery Plugin wandelt eine mit <ul> erzeugte Liste in eine dynamische Variante um, die man auf und zu klappen kann. Dadurch können sehr große Listen (z.B. verlinkte Tags) mit einigen Einträgen angeteasert und bei Klick auf mehr um die restlichen Einträge erweitert werden. Die Liste ist komplett HTML und somit auch spiderbar. Zudem ist kein zusätzliches CSS für die Darstellung nötig.

Um alle Listen umzuwandeln reicht der folgende Aufruf:

$('ul').expandablelist();

Aus

<ul>
  <li>Item #1</li>
  <li>Item #2</li>
  <li>Item #3</li>
  ...
  <li>Item #N</li>
</ul>

wird dadurch:

<ul>
  <li>Item #1</li>
  <li>Item #2</li>
  <li><a href="">more</a></li>
  <li>Item #3</li>
  ...
  <li>Item #N</li>
  <li><a href="">less</a></li>
</ul>

Um eine bestimmte Listen umzuwandeln:

$('#mylist').expandablelist();

Das ist die simpelste Variante. Das Plugin bringt eine Fülle an Konfigurationsmöglichkeiten mit, die auch global gesetzt werden können.

Mögliche Parameter und deren Standardwerte:

NameStandardwertBeschreibung
count2breche nach X Einträgen um
expandedfalseDarstellung der Liste
moreText‘more’Text der “more” Buttons
lessText‘close’Text des “close” Buttons
onClickfunction(item, action, flag) {}callback, wird 4 mal aufgerufen
item: Aufrufendes Element als this, action: ‘more’ oder ‘less’, flag: 0 vor der Aktion, 1 nach der Aktion
moreClassAclassname des “more” Buttons
lessClassAclassname des “close” Buttons
moreClassLiclassname des “more” Buttons umschliessende <li>
lessClassLiclassname des “close” Buttons umschliessende <li>

Paramater übergeben

$('ul').expandablelist({count:3});

Liste wird bricht ab dem 3. Eintrag um.

$('ul').expandablelist({expanded:true});

Liste wird ausgeklappt angezeigt.

$('ul').expandablelist({moreText:'mehr anzeigen', lessText:'schliessen'});

Liste mit angepassten Button-Texten

Paramater global setzen
Um einen Wert global zu setzen, z.B. den classname für die Links, geht man wie folgt vor. Das muss noch vor dem ersten Aufruf von $().expandablelist(); geschehen.

$.fn.expandablelist.defaults.moreClassA = 'funky';
$.fn.expandablelist.defaults.lessClassA = 'funky';

Links:
Demo
Download minified
Download source

Bewertung: najagut
Loading ... Loading ...

Ähnliche Beiträge

Schreib einen Kommentar

Fülle das Kommentar-Formular vollständig aus oder melde dich über Twitter oder Facebook an.
Sign in with Facebook

By Teledir Internetanbieter