Hartmut Birkholz - Webdesign

Diese Seite schaut viel besser in einem Browser aus, der Web-Standards unterstützt, die Seite ist aber für jeden Browser geeignet. Trotzdem empfehle ich den Download z.B. des Firefox, Opera oder Internet Explorers.

Projekt - JavaScript

Sinn und Zweck

Diese Projekt-Seite entsteht im Rahmen des Unterrichtes "JavaScript" während meiner Teilnahme an einer Weiterbildungsmaßnahme beim Bildungsträger Cimdata. Sie soll zum einen meinen Lernerfolg dort dokumentieren, dient letztlich als Projekt und zum anderen soll sie mich auch nach Abschluß des Lernmoduls auf meinem weiteren Weg bei der Programmierung in JavaScript begleiten.

Viele der hier vorgestellten Beispiele und Programme werden auf den nachfolgenden Seiten beschrieben und erklärt. Die Reise ist noch lange nicht zu Ende und wird wohl auch nie enden.


Das Navigationssystem ist eine Ajax-Bibliothek namens "Accordion", die hier beschrieben wird.

Das Orakel

Zufallsausgabe mit Effekten (Titel-Leiste verschiebbar)

 Klick mich! 

 

Panorama

Per Klick wechselt die Panorama-Sicht

 Klick mich! 

 

Ich hab 'ne Tabelle für Dich

Eine kleine Tabelle als Beispiel für eine for-Schleife

 Klick mich! 

 

Hätte noch 'nen Plan von 'nem dämlichen Chor

Beispiel einer while-Schleife

 Klick mich! 

 

Wie wär's mit 'nem noch bekloppteren Quiz?

Läuft als Alert-Box - keine Panik - nix Schlimmes!

 Klick mich! 

 

Gleiches Quiz mit Array und Abbruch

Was gibt es da noch zu sagen - ein Hammer!

 Klick mich! 

 

Quadrat-Berechnung

Eine dynamisch generierte Tabelle wie bekannt - mit Berechnungen

 Klick mich! 

 

Einfacher Kalender

Wirklich sehr einfach - ohne Schnickschnack

 Klick mich! 

 

Jahres-Kalender

Ein Jahres-Kalender (Farben sind im JavaScript konfigurierbar)

 Klick mich! 

 

DOM - innerHTML

Einige Beispiele, die zeigen, was man alles so in ein bestimmtes Element hineinschreiben kann (getElementById)

 Klick mich! 

 

PopUp-Fenster

Einige Beispiele für PopUp-Fenster mit kleineren Schließ-Effekten

 Klick mich! 

 

Animationen

Zwei Animations-Effekte

 Klick mich!     Klick mich! 

 

Flugsimulator

Ein Beispiel mit dem Framework Slimbox

 Klick mich! 

 

Beispiele mit Strings & Cookies

Einige Spielereien mit Strings

 Klick mich! 

 

 

Projekt - Ajax

Einleitung

Ajax ist nichts Neues. Es ist immer noch JavaScript. Es vereint die Vorteile der einfachen Befehlssyntax von JavaScript und bietet einen serverseitigen Austausch von Live-Daten, d.h. es wartet nicht unbedingt auf abgeschlossene Benutzereingaben.
Weitere Schlagworte, die zu Ajax gehören, sind XML, XLS, JSON.

Die Erklärung, Einarbeitung und den grundsätzlichen Aufbau von Ajax erkläre ich hier.

Frameworks

Für diese Projekt-Seite werde ich so nach und nach fast alle Frameworks einsetzen. Sie ersetzen manche komplizierte Funktion, aber sie ersetzen keinesfalls Kenntnisse in JavaScript.

ImageFlow

Für eine sehr hübsche Bilderpräsentation gibt es neben grossen Light- und Slimboxen noch einen weiteren Vertreter, den ich hier vorstllen mag: ImageFlow.
Ich will auch keine weiteren Worte hierüber verlieren. Einfach mal anschauen!

 Klick mich! 

 

Ajax-Chat

Ein wirklich kleiner simpler Chat, der die Funktionen des Prototype-Frameworks nutzt.
Quellcode ist komplett ausdokumentiert. Die Chat-Daten werden per GET an PHP/MySQL übergeben und können somit leicht administriert werden.
Durch den Einsatz von Prototype ist der eigentliche Quellcode minimal.
Es werden lediglich für die DOM-Elemente die $-Variablen genutzt, sowie für das Laden und Updaten der Datenbank Ajax.Request und Ajax.Updater.
Effekte sind mit Scriptaculous eingebunden.

 Klick mich! 

 

Dateimanager

Eine Art Dateimanager, der ein Verzeichnis auf dem Server ausliest und die Daten dynamisch in einer Navigationsleiste darstellt. Bestimmten Dateitypen (Verzeichnisse, Text, PDF, Bilder, unbekannte Dateien) werden anhand ihrer Datei-Endungen Aktionen zugewiesen.
Quellcode ist ausdokumentiert.
Der JavaScript-Code ist komplizierter als beim Chat, da die Dateiliste in dem DOM-Baum eingehängt und ggf. wieder entfernt werden.
Der Einsatz der Prototype-Bibliothek ist hier fast unerlässlich, da diese das Handling mit dem DOM in verschiedenen Browsern sehr viel einfacher macht.

 Klick mich! 

 

Eventkalender

Dieser Eventkalender wird mit DOM-Elementen (createChild) dynamisch erzeugt. Zum vereinfachten Ansprechen der erzeugten IDs wird das Prototype-Framework genutzt.
Im Kalender selbst können Einträge vorgenommen werden, die in einer Datenbank abgelegt werden. Der Datenaustausch JavaScript-PHP/MySQL erfolgt über JSON
Das "versteckte" Element zum Eintragen von neuen Werten kann verschoben werden. Es nutzt dabei die Effekte von Scriptaculous.

Eine Sache am Rande: Durch einen kleinen Unterschied beim DOM trotz Prototype war ich gezwungen per Browserweiche getrennte Dateien zu erstellen.
Neben diesen Manki werde ich - wenn noch Zeit bleibt, Umrechnungen von Unix/Timestamps in Formulare (dahert die Alert-Meldung) und umgekehrt implementieren.
Freue mich über jede erdenkliche Hilfe.

 Klick mich! 

 

Kontaktmanager

Mit dieser Anwendung zeige ich, dass der Datenaustausch mit Ajax und PHP/MySQL auch ohne die Einbindung der großen Bibliotheken wie Prototype funktioniert. Auf das Einfügen von DOM-Elementen habe ich wegen der verschiedenen Browserunterscheidungen verzichtet und verwende daher feste Container und arbeite mit innerHTML-Befehlen. Das ganze kann auch schnell auf eine XML-basierte Lösung ohne Datenbank umgestellt werden.

 Klick mich! 

 

 

  Einleitung -->