Hallo Leuts
Ich hab ein Navigationsscript gebästelt.
Ich stelle es hier zum Ausprobieren, Kritisieren und Selberverwenden zur verfügung.
Es ist objektorientiert Implementiert und einfach abänderbar.
Die Funktion line (bzw: lineIE und lineNN) generieren den Code für einen Knoten eines Baums.
Sie müssen überschrieben werden, um das Aussehen der Bäume anzupassen.
Die Funktionen Register, Unregister und Get verwallten Objekte in einem Array.
Dadurch umgeht man folgendes Problem:
function test(obj)
{
document.open();
document.write("<a href="javascript:obj.do_something()"></a>");
document.close();
}
Obj ist eine Referenz auf ein Objekt.
Nun hat man das Problem, das man im A-Tag nicht mehr auf Obj zugreifen kann.
Obiger Code führt zu einer Fehlermeldung.
Lösung
function test(obj)
{
var id = register(obj);
document.open();
document.write("<a href="javascript:get(" + id + ")..do_something()"></a>");
document.close();
}
Mit register wird eine Referenz in einem Array abgelegt und man erhält eine id.
Mit dieser id kann nun mit get() auch vom A-tag aus auf das Objekt zugegriffen werden.
Das script gibt es bei < http://www.geocities.com/thomaware/jsnavigation/> zum downloaden.
Tschüs und viel Spaß
Daniel Thoma
PS: Sollte der Link irgendwann nicht mehr funktionierten, bitte an mich mailen.