Diese praktische Aufgabe zur Veranstaltung beinhaltet die Erstellung eines ECMAScript-Tool-3. Tool-3 soll sowohl für CSS-Anfänger als auch für Webdesigner gut bedienbar und gut verwendbar sein und als Teil der eigenen Homepage eingestellt werden.
Das Tool-3 soll komplexe CSS-Kombinationen simulieren können. Das Tool-3 soll mit vielschichtigen CSS-Kombinationen (siehe z.B. css-propertys). praxisnahe, komplexe Anwendungsbeispiele (als Ganzes) simulieren können. Beispiele sind:
3-spaltiges Layout; IE < 9-HTML5-Äuquivalent zu den header-, aside-, footer-, nav-Tags (ggf. auch section-, article-, hgroup-Tags) mit Hilfe von <div class="header" .., <div class="aside" .., <div class="footer" .., <div class="nav" ..;
box-Modell
mit Anordnungs-, Schachtelungs-
und Zentrierungsmöglichkeiten;
border
mit -top, -right, -bottom, -left;
3-D-Schrift
Farb-Abstands-Parameter für 3-D-Schrift;
table-layout
usw.
Der gewählte Anwendungsfall soll zahlreiche Parameter variieren können. Als vorgefertigte Auswahl sind (möglichst alle wesentliche) genormten CSS-Attribute anzubieten. Bei jeder CSS-Attribut-Eingabe oder Werte-Eingabe soll (ohne zusätzliche Klicks) sofort das zugehörende Aussehen angezeigt werden. Hier ist ein Anfang, der bedingt fehlerhaft, verbesserbar, erweiterbar ist.
Viel Freude bei der Ausarbeitung!
Tool-3 baut auf vorherigen Übungen auf.
Z.B. können die folgenden Funktionen verwendet werden:
get_node(),
get_string(),
set_string(),
show(),
is_visible(),
toggle().
Die nachfolgenden Punkte beschreiben neu hinzu kommende Funktionen, Komponenten, Ideen.
Bei 3 Byte je Farbpixel ergeben sich 224 unterschiedliche Farben.
Wie soll eine geeignet Farbe visuell ausgewählt werden?
Die Funktion insert_color_options() verwendet Farbnamen
und ist auch für Sehbehinderte geeignet,
die in dem Array color_arr sind.
Mit Hilfe von color_arr[] erstellt die Funktion insert_color_options() ein Select-Tag für die Farbauswahl.
Solche Select-Tags für Farben können z.B. für die Auswahl der Hintergund- und/oder Vordergrund-Farbe verwendet werden.
Kommt die Folge von select-Tag und input-Tag (type=text) häufig vor, so können diese "zusammengehörigen" Tags näher betrachtet werden. Das select-Tag erlaubt die Auswahl (festgelegte Attribute und Werte), die dann in das folgende input-Tag geschrieben werden. Das input-Tag erlaubt Modifikationen des ausgewählten Textes.
Eine select-Auswahl ruft
onchange="css.on_select_change(this,false,'FORM_TEXT_STYLES','EDITOR2','DIV_TEXT_STYLES')"
auf, d.h. im wesentlichen die Funktion
css.set_select_item_to_next_input(that, bgcol),
die den ausgewählten option-value-Text in das nachfolgende input-Tag schreibt.
Darüber hinaus behandelt css.on_select_change()
auch das Weitergeben des aktuellen "Gesamt-Textfluß-Übertragung" hin zur letzten Anzeige.
Wie funktioniert die "Gesamt-Textfluß-Übertragung" hin zur letzten Anzeige beim Eintippten von Modifikationen von Hand?
Jedes input-Tag bzw. textarea-Tag könnte bei einem onkeyup-Ereignis eine Funktion
css.on_input_keyup() bzw. css.on_textarea_keyup()
aufnehmen. Diese Funktionen übernehmen die "Textfluß-Übertragung" hin zur letzten Anzeige.
Anstelle der vielen "onkeyup'" in den zahlreichen Tags ist es günstiger,
das "Hinterlegen der onkeyup-Funktionen in den Tags" durch
css.init() unter
window.onload = function () {...}
zu machen.