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.

© 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 lesen

Chronologische Liste und Netflix-Links -

Neuerscheinungen in der Übersicht -

Vorschau auf Film- und Serien-Highlights -

Mehr zum Thema

Webdesign

Adobe Illustrator wird im Webdesign immer beliebter. Wie Sie das Tool richtig einsetzen, erfahren Sie hier.
Facebook

Was sind die Implikationen für Unternehmen und Endanwender bei Facebooks neuer Suche Graph Search?
Online-Recht

Allgemeine Geschäftsbedingungen liest sich niemand gerne durch. Sie sind jedoch notwendig und äußerst sinnvoll. Worauf sie achten sollten.
Online-Recht in der Cloud

Dateien werden immer häufiger in der Cloud bereitgestellt. Rechtlich ist das jedoch durchaus problematisch. Wir klären über das Urheberrecht in der…
E-Commerce-Logistik

Für den Erfolg eines Online-Shops sind zahlreiche Faktoren verantwortlich. Neben Produktvielfalt und Darstellung der Waren gehört auch die Logistik.