Teil 3: Workshop CSS: Aufklappbare Elemente
- Workshop CSS: Aufklappbare Elemente
- Teil 2: Workshop CSS: Aufklappbare Elemente
- Teil 3: Workshop CSS: Aufklappbare Elemente
- Teil 4: Workshop CSS: Aufklappbare Elemente
- Teil 5: 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....
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.

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.