Und noch ein Javascript-User-Interface

Ich würd es gern "Frankensteins Monster" nennen - muss mal die Rechte checken.
Im Allgemeinen geht es darum, eine Möglichkeit zu haben, Web-Apps einfach und extrem flexibel zu erstellen. Das ganze sollte so trocken sein wie möglich. Wiederverwertbarkeit sollte sich direkt aus der Architektur ergeben (O.K. es gibt ein paar harmlose "guidlines").
Was schonmal geht: Und noch ein Beispiel. Dies ist ein sehr großes UI und zur Zeit meine Haupt-Test-App, also bitte nicht abschrecken lassen. Zu mehr als damit rumzuspielen taugt sie nicht. Schickeres und mehr sinnvolles kommt später. Internet-Explorer 6 und Firefox 2 werden nicht unterstützt (das tu ich mir nicht an, sorry), die Geschwindigkeiten von IE 7 und 8 sind grottig, keine Frage. Ich werde noch "Google Chrome Frame" Unterstützung einbauen. IE9, Firefox >=3.x, Safari, Chrome, Iron, Opera >=10.x sollten auch auf langsameren Rechnern gut funktionieren.

Heulsuse

Wie oben erwähnt, kann man bei meinem App-Ui diverse Zustände (states) angeben. Ausgehend von der Annahme, dass der Browser alles was er kann, schneller kann als jedes Skript das es ihm beizubringen versucht, wollte ich folgendes tun:
Vorraussetzungen: Ich möchte ein Icon haben, das mir den Docked-In / Docked-Out Zustand anzeigt. Ich setze in dem HTML-DIV Element, das die Representation meines Objekts auf der HTML-Seite darstellt, die Style-Klasse "dockedIn" oder "dockedOut". Irgendwo in der DOM-Hierarchie "innerhalb" der DOM-Representation befindet sich mein IMG-Element. In der Hoffnung das die CSS Implementierung schlau genug ist, packe ich folgende CSS Selektoren in mein Stylesheet:
	.dockedIn .dockIcon {background-image:url(...)}
	.dockedOut .dockIcon {background-image:url(...)}
Und? Es funktioniert nicht, sobald ich meine Objekte weiter verschachtele.
Also hab ich mal nachgeschaut und folgendes entdeckt:
Test 1
Test 2
Test 3
Da dieses "Verhalten" alle Browser zeigen, bin ich also gezwungen die Style-Klassen "dockedIn" und "dockedOut" in mein Icon-IMG zu schreiben und die Selektoren umzuändern.
	.dockIcon.dockedIn {background-image:url(...)}
	.dockIcon.dockedOut {background-image:url(...)}
Nachteile: ich muss in meiner Objektdefinition angeben in welche Elemente die Styleklassen eingetragen werden sollen, und mein Skript kommt nicht mit "nur einmal" setzen aus. Schön daran ist natürlich auch, dass ich bei jedem Setzen mit einem Reflow rechnen kann. Was das für die Geschwindigkeit bedeutet, dürfte klar sein.

Ein totes Projekt

Maps-Editor V 0.5 Alpha

Scherz aus meiner "Jugend"

Lebensberatung