So sorgen Sie für Übersicht

Teil 3: Workshop CSS: Aufklappbare Elemente

Lesen Sie als Erstes alle Tabellen-Elemente auf der Webseite ein, baut einen Suchstring für den Klassennamen auf und prüft alle Objekte der Ergebnismenge ab.

var t=document.getElementsByTagName
('table');
var Pruefung= new RegExp("(^|\\s)"
+ aufklappenKlasse + "(\\s|$)");
for (var i=0;i<t.length;i++) {
if(!Pruefung.test(t[i].className))
{continue;}
... }

Als Erstes werden der Variablen t alle Verweise auf die vorhandenen Tabellenelemente innerhalb der Webseite zugewiesen. Im nächsten Schritt für ein regulärer Ausdruck aufgebaut, welcher eine Zeichenkette auf den Namen aufklappen überprüft, im Speziellen, ob dieser am Anfang oder Ende eines Strings steht - dieser wird der Variablen Pruefung zugewiesen.Im nächsten Schritt werden alle Elemente der Trefferliste t untersucht, ob deren Klassenname dem zuvor unter Pruefung definierten Suchausdruck entsprechen - bei einem Treffer geht die Folgeverarbeitung weiter, ansonsten wird die for-Schleife mit dem nächsten Tabellenelement fortgesetzt.Wird die Fußzeile angeklickt, so sollen alle Elemente des body-Bereichs der Tabelle entweder angezeigt oder versteckt werden.

CSS-Workshop

© Archiv

Für das Menü nutzen wir eine normale Listaufzählung.
t[i].getElementsByTagName('tfoot')
[0].onclick=function() {
var tb=this.parentNode.
getElementsByTagName('tbody');
for(var i=0;i<tb.length;i++){
tb[i].style.display=tb[i].
style.display=='none'?'':'none';
} }

Beim Anklicken der Fußzeile wird eine Funktion mit mehreren Schritten ausgeführt. Es werden alle body-Elemente der zugehörigen Tabelle ermittelt und der Variablen tb zugewiesen.

Anschließend wird dieses Array durchlaufen und der display-Eigenschaft abhängig vom aktuellen Zustand auf eine leere Zeichenkette oder den Wert none verändert.

Über den Wert Ausgangslage_Tabelle legen Sie fest, ob die Tabelle zu Beginn im ausgeklappten oder komprimierten Zustand angezeigt wird. false lässt die Tabelle in der ausführlichen Variante erscheinen. Ist die Variable true, werden alle Elemente zu Beginn mit Anzeigewert none versehen.

if(Aufgangslage_Tabelle) {
var tb=t[i].getElementsByTagName
('tbody');
for(var j=0;j<tb.length;j++){
tb[j].style.display='none';
} }

Der Aufruf der Funktion erfolgt schließlich über das Ereignis window.onload.

Optisches Feintuning

Für den Betrachter Ihrer Tabelle ist es nicht ohne Weiteres ersichtlich, was er zu tun hat, damit er die kompletten Daten angezeigt bekommt. Hilfreich an dieser Stelle wäre beispielsweise ein Symbol, welches kennzeichnet, dass sich die Tabelle durch Anklicken entweder entfalten oder komprimieren lässt.

Mehr zum Thema

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".