Christian Seiler: Aufbau eines dynmaischen Baums

Beitrag lesen

Hallo,

Ich möchte in einer Webseite einen Navigationsbaum ähnlich zu Windows Explorer aufbauen. Die Sohnknoten eines Knotens werden dabei dynmisch ermittelt (aus einer Datenbank), sind also am Anfang nicht bekannt.

Es müssen bei der Übertragung vom Server auf den Client _alle_ Knoten bekannt sein, die angezeigt werden.

Optimal wäre, wenn die Seite, die den Baum enthält, nicht nach jedem Blättern komplett neu aufgebaut wird, sondern nur die neuen Knoten dynamisch eingefügt werden.

Wenn das so ist, dann brauchst Du JavaScript und DOM. Dann müssen zusätzlich noch _komplett alle_ Knoten bekannt sein, sobald die Seite _übertragen_ wird.

Frage:

  1. Was ist die beste Methode ein sauberes Layout für den Baum aufzubauen (unsichbare Tabelle? absolute Koordinaten?)

relativ positionierte <div>s, die Du mit display: block/none ein/ausblendest. Dann kannst Du am Anfang alle Anzeigen lassen und im <body> beim onLoad die ausblenden, die am Anfang nicht angezeigt werden sollen. So wahrst Du Kompabilität zu nicht-JS-Browsern und Browsern, die display: none; nicht kapieren (die bekommen halt den immer vollen Baum angezeigt, aber alles ist noch voll funktionsfähig)

  1. Was die die beste Methode den Baum dynmamisch zu manipulieren, also Knoten einzufügen/zu löschen.

display: block/none; Komplett dynamisch kannst Du es sowieso nicht machen, da das ganze ja Client<->Server ist.

Es soll MS IE >= 5.0, Netscape >= 6.0 unterstützt werden.

Mit der o.g. Methode werden _alle_ Browser unterstützt (zumindest bleibt die Navigation für _alle_ Browser erhalten).

Grüße,

Christian