Die CSS-Eigenschaft display steuert die Anzeigeart von HTML-Elementen; mit dem Wert none wird ein Element nicht angezeigt und im Textfluß kein Platzhalter reserviert (nachfolgende Elemente rücken nach), der Wert block erzwingt einen Block, das Element erzeugt eine neue Zeile im Textfluß.
Mit der vorgestellten Script-Funktion exchangeDisplay(id) werden diese beiden Werte getauscht, und so HTML-Elemente Im Dokument ein- und ausgeblendet.
collapse.layer 1
collapse.layer 2
collapse.layer 3
collapse.layer 4
Im zentralen Stylesheet des HTML-Dokuments werden die Elemente über ihren ID-Namen ausgeblendet:
Die Basis-Variante des Scripts frägt die display-Werte block und none ab und tauscht sie entsprechend aus:
Die Funktion exchangeDisplay(id) erwartet einen Parameter, nämlich die ID des Objekts (HTML-Element), das ein- und ausgeblendet werden soll. Anschließend greift sie mittels document.getElementById auf das Objekt mit dieser ID zu, überprüft seinen Wert für die CSS-Eigenschaft display und tauscht ihn entsprechend aus - von block auf none, und umgekehrt.
Der Aufruf der Funktion exchangeDisplay('ID-name') wird im onclick-Eventhandler notiert:
Anmerkung: Mit return false wird in diesem Beispiel verhindert, dass beim Klicken des Links wegen dem "leeren Ankername" im Attribut href="#" nicht zum Seitenanfang gesprungen wird.
Diese erweiterte Funktion tauscht nun analog zum display-Wert zwei Grafiken aus:
Die Funktionsweise des Scripts ist die gleiche, wie in der Basis-Variante, allerdings stellt sie vor die zu übergebende ID ein img_. Diese neue ID img_layer1 ist die ID der Grafik, die beim Auf- und Zuklappen des Elements mit der ID layer1 getauscht werden soll.
Hierzu werden zwei Grafiken benötigt, die den jeweiligen display -Wert symbolisieren:
|
| closed.png : none
|
| opened.png : blockDem Grafikelement 'closed.png' wird die ID img_ID-name zugewiesen und innerhalb des Links eingebettet - also:
Anmerkung: Bei der Verwendung von Grafiken mit anderen Dateinamen und -endungen (*.gif, *.jpg), ist dies in der Script-Funktion zu berücksichtigen und entsprechend anzupassen. Ebenso ist die korrekte Referenzierung der Grafiken zu beachten:
Die Struktur ist beliebig erweiterbar und kann als 'Treeview' eingesetzt werden, der weitere dynamische Elemente (= Sub-Elemente) enthält:
layer 5
layer 5_sub1
layer 5_sub2
layer 5_sub2_1