Javascript ist Toll!

Javascript > Skripte

2. Februar 2008 - 11:32

Zebratabellen mit Javascript

Und noch ein Tabellenskript.

Eine große Tabelle sieht schöner aus wenn die Tabellenzeilen eine abwechselnde Hintergrundfarbe bekommen. Das wird in Zukunft - irgendwann mal - mit CSS 3 möglich sein, im Moment kann das aber noch kein Browser.

Deshalb kann man sich behelfen - entweder, indem die Zeilen abwechselnd mit einer entsprechenden Klasse versehen werden oder, wenn man nicht den HTML Code aufblähen möchte, mit JS. Genau dazu habe ich dieses kleine Skript geschrieben, dass den entsprechend markierten Tabellen (wenn sie die Klasse zebra haben), den Zeilen abwechselnd die CSS-Klasse odd hinzufügt.

Das Skript sieht so aus und kann entweder direkt eingebunden werden oder in einer separaten JS Datei. Der Aufruf der Funktion ZebraTabelle.init() erfolgt entweder im onload Event oder vor dem schliessendem body-Tag.

javascript
/*
	Zebratabelle (c) 2008 J. Strübig
	http://javascript.jstruebig.de/js/zebratabelle.html
 
	Letzte Änderungen:
 
 
*/
function ZebraTabelle(t) {
	var obj = t;
	var rows = [];
	var self = this;
 
	var hasBody = !!t.getElementsByTagName('tbody').length;
	var body = t.getElementsByTagName('tbody').length ? t.getElementsByTagName('tbody')[0] : t;
	var rows = body.getElementsByTagName('tr');
	for(var i = 0; i < rows.length; i += 2) rows[i].className += ' odd';
 
 
}
ZebraTabelle.init = function() {
	// Alle Tabellen des Dokuments
	var t = document.getElementsByTagName('table');
	var r = /\bzebra\b/i;
	for(var i = 0; i < t.length; i++) {
		if(t[i].className && r.test(t[i].className) ) {
		var tmp = new ZebraTabelle(t[i]);
		}
	}
};

Beispiel

Spalte 1 Spalte 2
Zeile 1 - Spalte 1 Zeile 1 - Spalte 2
Zeile 2 - Spalte 1 Zeile 2 - Spalte 2
Zeile 3 - Spalte 1 Zeile 3 - Spalte 2
Zeile 4 - Spalte 1 Zeile 4 - Spalte 2

Ähnliche Artikel

Comments (24)
7891 mal gelesen.

24 Comments

Einen Kommentar hinterlassen »

Kommentare

1 2
21. von Lennart
Mittwoch 26.Mai 2010: 15:56

Moin

Hab da mal eine frage: Bei mir ist das Problem das es nicht gut mit der sortierung arbeitet.
Manchmal sind dann 2 gleichfarbige rows untereinander wenn ich sortiert habe!
Wie kann ich das machen das er die Zebra Funktion beim anklicken der Sortierung neu macht?
Aber danke!
Super funktionen hier!

22. von Struppi
Freitag 28.Mai 2010: 12:32

Hast du tatsächlich das Skript von hier? Weil das funktioniert bei mir ohne Probleme mit dem Zebrasript.

Es gibt aber eine ältere Version, die fehlerhaft war.

23. von Lennart
Dienstag 1.Juni 2010: 07:47

Jep habe ich. Nun funktioniert es auch. Musste da ein paar sachen ändern. Allerdings habe ich noch ein Problem:
Wenn ich die Tabelle per Prototype aus einer anderen Datei lade funktionieren weder sortierung noch zebra.
Wie kann ich das ändern??

24. von Struppi
Dienstag 1.Juni 2010: 08:00

Weiß ich nicht, ich kann leider nicht hellsehen.

1 2

Einen Kommentar hinterlassen

Name (erforderlich)
Mail (wird nicht angezeigt) (erforderlich)
Website

Folgende HTML Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Powered by WordPress Stop Spam Harvesters, Join Project Honey Pot kostenloser Counter Browser-Statistiken
rats-wonderful
rats-wonderful
rats-wonderful
rats-wonderful