Diese praktische Aufgabe zur Veranstaltung beinhaltet die Erstellung eines ECMAScript-Tool2, das 2 Textareas (d.h. 2 Editoren) nutzt und mit allen "gängigen" Browsern funktionieren soll. Der Editor1 dient dem Schreiben und Modifizieren von Quellcode, Editor2 entspricht einer Zwischenablage. Die Editoren sollen sichtbar/unsichtbar geschalten werden können.
Es sollen Code-Schnipsel erstellt und getestet werden, die wesentliche "Pattern" aus einem der Gebiete wie z.B. ECMAScript, SMILE, SVG, HTML5-Canvas, JSON, Silverlight, AJAX, XML-Muster, usw. abdecken. Das gewählte Muster soll mit ECMAScript zusammenhängen und ggf. ECMAScript-Code enthalten. Wie können umfangreiche Sammlungen extern bereitgestellt und bei Bedarf geladen werden? Es soll eine Browser-Vorschau möglich sein.
Das zu erstellende Tool2 soll praxistauglich und gut verwendbar sein und als Teil der eigenen Homepage eingestellt werden.
Viel Freude bei der Ausarbeitung!
Tool-2 baut auf Tool-1 auf und kann
get_node: function (id),
get_string: function (id) und
set_string: function (id, str)
verwenden.
Hinzu kommen nun die (zu schreibenden) Funktionen zu Steuerung der Sichtbarkeit:
show: function (id),
is_visible: function (id),
toggle: function (id, that).
Günstig ist es, z.B. die jeweiligen Formulare (mit allen inneren Elementen)
sichtbar/unsichtbar zu stellen.
Hinzu kommt eine (neu zu schreibenden) Funktion
popup: function (str, url, o),
die den Editor-String als Browservorschau anzeigen kann.
Es soll ein Objekt-Pattern tool2
mit private- und public-Bereich verwendet werden
(jeweils für Daten und Funktionen, siehe
Namespaces).
Das folgende Beispiel soll mit einem a-Tag und tool2.toggle('DIV1',this)
die Sichtbarkeit eines DIV1-Tags umschalten, hiebei entspricht bei den Funktionsparametern
this dem a-Tag-Objekt.
<a href="javascript:void(0)"
onclick="tool2.toggle('DIV1',this);return false;">
[+] show/hide DIV1
</a>
<div id="DIV1" style="display:none; background: #fee;">
DIV1 (am Anfang verborgen)
</div>
Das folgende Beispiel soll mit einem select-Tag und tool2.toggle('DIV1','SEL1')
die Sichtbarkeit eines DIV1-Tags umschalten, hiebei entspricht der String 'SEL1' dem id des Select-Tags.
<option value="tool2.toggle('DIV1','SEL1');">
[+] show/hide DIV1
</option>
<div id="DIV1" style="display:none; background: #fee;">
DIV1 (am Anfang verborgen)
</div>
Dieser Anfang ist noch fehlerbehaftet, zeigt den Aufbau für tool-2 und kann aber die Schreibarbeit reduzieren.
Ein geeigneter Style hilft weiter. Hier ist ein Anfang, der noch fehlerbehaftet ist, aber den CSS-Aufbau zeigen kann und die Schreibarbeit reduziert.