Beispiel siehe rechts:
Oben: weitere Erläuterungen
unten: Beispielbaum
Viel Spaß damit
Georg Lewandowski
Hinweise, Erweiterungen... siehe Mailadresse im Kopf des Script
- den Aufrufen in den HTML-Dateien
- der CSS-Datei für die Darstellung des Baumes
- der Scriptdatei die die Abläfe steuert
<link rel="stylesheet" type="text/css" href="css/gllist.css">
<script type="text/javascript" src="script/gllist.js"></script>
Grundsätzlich benötigen wir ein <div>-Element in dem der Tree
dargestellt werden soll. Dieses Element benötigt eine eindeutige ID (z.B. gllist).
Für die Darstellung fügen Sie noch class="zeile" hinzu.
Nachdem so alle
Elemente (falls es mehrere Listen auf der Seite geben soll) ihren Platz gefunden haben,
rufen Sie Ihre Java-Script Initialisierungsfunktion auf:
<script type=
"text/javascript">urladen();<script> (Bspw.)
overflow: auto;
width und height nach Ihren Anforderungen,
border, background und color ebenso,
margin und padding falls notwendig
Die Infobox links sieht so aus:
#beispiele {
display: block;
overflow: auto;
width: 350px;
height: 200px;
border: 1px solid black;
background: white;
color: black;
font-size: 12pt;
padding-top: 5px;
padding-left: 5px;
margin: 5px;
}
Alle anderen notwendigen Style- Eintragungen finden Sie in der gllist.css.
z.B. var d = "";
Irgendwo danach kommt dann die Initialisierung:
z.B. function urladen () {
d = new gllist(<Initialisierungwerte>);
<hinzufügen der ersten Ebene mittels d.add()>
d.show();
}
Nach dem d.show(); steht die erste
Ebene zur Auswahl in der Box bereit.
Natürlich können Sie hier auch einige wenige Werte quasi von Hand
einfügen (Beispiel dieser Seite):
b.add(0, 1, "Informationen", 0);
b.add(0, 2, "Dateien", 1);
b.add(0, 3, "GLlist", 1);
In der Realität werden Sie aber eher innerhalb einer Schleife die Ergebnisse einer Ajax-Anfrage an Ihren Server eintragen lassen.
function laden (id) {
var typ = 1;
var anz = id.toString();
if (anz.length > 3) {
typ = 0;
}
for (var i=1; i<5; i++) {
var nid = id*10+i;
d.add(id, nid, "Folder "+nid, typ);
}
d.show();
}
Hier werden bis zu einer bestimmten Tiefe einfach neue Folderebenen angelegt.
function gewaehlt (id) {
alert("Wahl aus Box 2: id("+id+")");
}
Im "richtigen Leben" werden Sie auch hier mit einer Ajax-Anfrage an Ihren Server notwendige Daten zum Client holen und darstellen.
-den new-Konstruktor
- die add-Funktion um eine neue Zeile einzufügen
- die show-Funktion um die gerade eingefügten
Daten eines Subfolders anzuzeigen.
Variablenname: Name der Variable über die wir den Baum erreichen
Containername: Name des div-Containers in dem der Baum dargestellt werden soll
Ladefunktion: Funktion die beim Nachladen von Zeilen für eine ID aufgerufen werden soll
Lademodus: 0|1 - 0=zu öffenden Folder immer erst laden, 1=bereits geladene Folder merken und nicht
nachladen
Auswahlfunktion: Funktion die bei Klick auf den Text eines Folders oder eines Node mit
dessen ID aufgerufen werden soll
Bildertyp: 0|1 - 0=+/- Symbole 1=Folder/Node Symbole
Bilderpfad:
Pfad auf dem Server wo unsere Bilder liegen (immer mit abschliessendem / !!)
Beispiel:
d = new gllist("d", "gllist", laden, 0, auswahl, 1, "resource/");
Variable: Konstruktorvariable
VaterId: Id des Folders unterhalb dessen diese Zeile
eingefügt werden soll
Text: Der Text der dargestellt werden soll
Typ: 0|1 - 0=Node
1=Folder
Beispiel:
d.add(0, 1, "erster Folder", 1);
Besonderheiten:
- vor einem show() dürfen nur Werte zu einem Vaterobjekt hinzugefügt werden
- die höchste Ebene ist immer Ebene 0
Variable: Konstruktorvariable
Besonderheiten:
- vor einem show() dürfen nur Werte zu einem Vaterobjekt hinzugefügt werden
Windows
Firefox 2.0
IE 5.5
IE 6.0
IE 7.0
Opera