Was wollen wir also bewerkstelligen:
- Wir haben einen wirklich guten, inhaltlich wertvollen, weltpolitisch einmaligen Sinnspruch, den wir auf möglichst publikumswirksame Weise der ergriffen lauschenden Mitwelt vor die Nase halten wollen. Er soll immer an der gleichen Stelle unserer Seite stehen, und, da er länger ist als wir Platz haben, in Form einer Laufschrift über den Schrim rollen.
Java-Applet? Plugin? Einen ganz neuen Browser aus Seattle? Oh nein, es geht viel einfacher...
Wir benötigen also:
- einen Platz für unseren Text
- jemanden, der den Text "laufen" läßt
- einen Sinnspruch mit (!wichtig!) Inhalt
Also nehmen wir:
- ein Text-Eingabe-Element aus einem Formular
Warum: Es ist mit einem Java-Script dzt. nicht möglich, an einen bestimmten Platz im Fenster Text zu schreiben. Einem Formularelement kann jedoch - auch programmgesteuert - Inhalt zugewiesen werden.- einen Zeitgeber, auch "Event" genannt
Warum: ein zeitgesteuerter Event wird immer in regelmäßigen Abständen vom System selbst aufgerufen, egal, was gerade sonst passiert. Also geradezu ideal für das, was wir vorhaben.- Beim Sinnspruch helfe ich Ihnen nicht. Den müssen Sie schon selbst wo klauen.
Die Implementation:
Ein Java-Script schreiben Sie am besten im <HEAD>-Abschnitt der HTML-Seite. Damit stellen Sie sicher, daß das Script bereits verfügbar ist, sobald Sie es einsetzen wollen.
<HTML><HEAD> <script language="JavaScript">Mit dem script-Befehl beginnen Sie das Script. Inkludieren Sie auch die Sprache, wie gezeigt, es gibt Browser (z.B. aus Seattle), die andere Sprachen kennen, z.B. Visual Basic <grin>.
Es soll auch Browser geben, die <script> überhaupt nicht kennen. Damit diese Browser Ihr Script ignorieren, schließen Sie es in einen HTML-Kommentar ein.<!-- Ein Kommentar beginnt immer mit <!--Jetzt geht's weiter fast wie in C. Kommentare beginnen mit "//"// globale Variablen var position=0; // die Position im Spruch var dsplen = 30; // die Länge des Ausgabe-Textfeldes var dspmsg = ""; // die Ausgabevariable var spruch = " ... Quintessentieller Sinnspruch";Die Anzeige des Lauftextes wird von einer Funktion erledigt. Diese Funktion wird von einem Zeitgeber in regelmäßen Abständen aufgerufen und schreibt einen Teil des Sinnspruchs in das Textfeld.function quisse_scroller() { if (dspmsg == "") { // Für den Anfang wird die Ausgabevariable mit Leerzeichen gefüllt. // Dadurch "rollt" der Text in das Feld hinein. var i; for (i=0;i<dsplen;i++) dspmsg=dspmsg+" "; }Der sichtbare Textteil wird jetzt in das Formularfeld eingetragen. Dazu muß der Name des Feldes angegeben werden. Es ist hier wichtig, daß der Name des Formulars und des Feldes mit der später folgenden Implementation identisch sind!// Die Ausgabevariable anzeigen document.scrollform.scrolltxt.value=dspmsg;Zu dieser Zeile ein wenig Erklärung:
document
- Das gesamte Dokument, auf das sich die Aktion bezieht, also unsere Webseite. Ein Teil dieses Dokumentes ist das Formular mit dem Namen
scrollform
- das wiederum ein Textelement mit dem Namen
scrolltxt
- enthält. Ein Textelement hat mehrere Eigenschaften, darunter auch die Eigenschaft
value
- die den Inhalt des Feldes beschreibt. Dieser Inhalt wird hier gesetzt.
dspmsg
- ist die oben initialisierte Lauftext-Variable.
Anschließend wird die Ausgabevariable für den nächsten Durchlauf vorbereitet. Dazu wird das ganz linke Zeichen gelöscht und das nächsten Zeichen des Spruchs rechts an den Lauftext angehängt.
// und für den nächsten Durchlauf vorbereiten: // linkes Zeichen löschen, rechts ein Zeichen vom Spruch dazugeben dspmsg = dspmsg.substring(1, dspmsg.length) + spruch.substring(position, position+1);Anschließend wird die Position um eins erhöht, damit beim nächsten Durchlauf das nächste Spruch-Zeichen hinzugefügt wird. Ist die Position am Ende der Variablen angekommen, beginnt sie wieder von vorne.// die Position im Spruch hinaufzählen oder zurücksetzen position = position + 1; if(position==spruch.length) position=0;Jetzt müssen wir nur noch sicherstellen, daß wir recht bald wieder aufgerufen werden. Dazu setzen wir einTimeout
, auf daß diese Funktion nach 300 msec wieder aufgerufen werde:setTimeout("quisse_scroller()",300); }Es bleibt noch, den HTML-Kommentar vom Anfang zu schließen sowie den<script>
-Block zu beenden.// Ende des Kommentars für veraltete Browser --> </script>Damit unser schönes Script auch tatsächlich funktioniert, benötigen wir noch:
- das Formular im
<BODY>
-Abschnitt der Webseite- den erstmaligen Aufruf der Funktion
quisse-scroller()
.
Die Funktion soll bitteschön gleich beim Laden der Seite aufgerufen werden. Wir benutzen dazu die Eigenschaftonload
des<BODY>
-Abschnitts.</HEAD> <BODY onload="quisse_scroller()"> <form name="scrollform"> <input type="text" name="scrolltxt" size="30"> </form>Das wärs! denreinen Sourcecode
für diese Seite gibt's zum Kopieren:
Ganzer Text Copyright © 1996 netSphere Austria
Reproduktion, auch auszugsweise, nur mit ausdrücklicher Zustimmung von E.Vogelsinger.