JavaScript setInterval / clearInteval Beispiel 3: Ticker mit Array

<span id="zeilenticker" style="width:20em;">-</span><br>
<a href="javascript:zeilenticker ()" title="">Ticker los!</a>
<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Array mit Meldungen, die vom Ticker ausgegeben werden sollen
var meldungen = new Array ('Erste Meldung hat diesen Inhalt',
         'Zweite Meldung hat jenen Inhalt',
         'Dritte Meldung ist die Letzte');

// Funktion zur Darstellung eines Texttickers, der in einem Array
// gespeicherte Meldungen nacheinander Zeichenweise in einem HTML-Element
// ausgibt. Bei jedem Durchgang des Intervalls wird ein weiteres Zeichen
// der aktuellen Meldung ausgegeben. Ein Intervall ist nach Ablauf eines
// Timeouts von 100ms abgelaufen. Beim Aufruf der Funktion werden keine
// Parameter angegeben. Intern ruft sich die Funktion mit der Meldungsnummer
// der darzustellenden Meldung jeweils über einen neuen Intervall auf.
function zeilenticker (meldung) {
  // Wurde das Array mit den Tickermeldungen im Script-Code definiert
  // und enthält das Array auch mindestens einen String?
  if ((typeof meldungen != 'object') ¦¦ meldungen.length == 0) {
    // Ist dem nicht so, wird die Funktion mit einer Fehlermeldung
    // abgebrochen und auh kein Intervall gestartet.
    alert ('Array mit Meldungen ist nicht definiert oder leer!');
    return;
  }
  // Wurde der Funktion kein Parameter mit dem Index einer Meldung angegeben?
  // Dies sollte nur dann der Fall sein, wenn die Funktion vom Benutzer
  // aufgerufen wird. Die Intervallgesteuerten Aufrufe geben den Index der
  // aktuell vom Ticker genutzten Meldung an.
  if (typeof meldung == 'undefined') {
    // Wir sind beim ersten Aufruf der Funktion und testen, ob Meldungen im
    // Array abgelegt sind.
    if (meldungen.length > 0) {
      // Startwert ist die erste Meldung im Array (Indexposition 0)
      // Die Position, bis zu der das String im nächsten Aufruf ausgegeben
      // werden soll wird initialisiert (beim ersten Durchgang nur das
      // erste Zeichen der ersten Meldung ausgeben).
      position = 0;
      // Starten des Intervalls in zeitlichen Abständen von 100ms
      tickerinterval = window.setInterval ('zeilenticker(0)', 100);
    }
  }
  else {
    // Ausgabe des Teilstrings von Indexposition 0 bis zum in position gespeicerten
    // Indexwert.  Die Position im String wird dabei für den nächsten Durchgang NACH der
    // Ausgabe um eins erhöht damit dann ein Zeichen mehr ausgegeben wird.
    document.getElementById ('zeilenticker').firstChild.data = meldungen[meldung].substr (0, position++);
    // Wurde bereits das letzte Zeichen der Meldung mit Indexposition meldung ausgegeben?
    if (position - 1 == meldungen[meldung].length) {
      // Positionsindex zurücksetzen...
      position = 0;
      // und Intervall zur Ausgabe der aktuellen Meldung beenden.
      window.clearInterval (tickerinterval);
      // Wurden noch nicht alle Meldungen im Array ausgegeben?
      if (meldung + 1 < meldungen.length)
        // Dann muss ein neuer Intervall gestartet werden, der die nächste
        // im Meldungsarray gespeicherte Meldung zeichenweise ausgibt.
        tickerinterval = window.setInterval ('zeilenticker(' + (meldung + 1) + ')', 100);
    }
  }
}
// -->
</script>

-
Ticker los!

Letzte Posts aus unserem Forum

Stream musik

Hallo, ich bin auf der Suche nach einem Script, mit dem ich einen Leser für Audio-Spuren in eine Html-Webseite einfügen kann. Ich brauche dabei ... » mehr

von Finlay am Sonntag, 22. Januar 2012 22:52 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Montag, 23. Januar 2012 17:02 von alm

Hallo, wenn es um einen MP3-Player geht, dann sollte jplayer das Richige sein. Einfach mal den Suchschlitz der Suchmaschine Deiner Wahl nutzen. ... » mehr

Überbelnd effect in javascript gallerie

ich habe hier einie gallerie die funktioniert problem los aber hat noch kein über belnd effect jedoch würde ich diesen gerne einfügen aber ich habe ... » mehr

von faebe am Freitag, 20. Januar 2012 20:19 in JavaScript - noch nicht beantwortet

XML per JavaScript verarbeiten - IE

Hallo! Vielen Dank für das super kommentierte Script-Beispiel zur Weiterverarbeitung von XML-Dateien per JavaScript: ... » mehr

von gn0me am Freitag, 11. März 2011 19:03 in JavaScript - noch nicht beantwortet

Galerie Erweiterung

Hi, zu erst mal ein Lob an Eure Galerie. Nun habe ich allerdings eine Frage um die Galerie eventuell zu erweitern. Derzeit wird auf meiner Seite ... » mehr

von G-RuN am Dienstag, 25. Januar 2011 17:13 in JavaScript - bisher 8 Antworten
Letzter Beitrag: Dienstag, 1. Februar 2011 17:11 von G-RuN

Hat sich erledigt. Mir haben noch die Zuweisung von der Variablen anzahl_bilder und anzahl_thumbnails gefehlt. Grüße, ... » mehr

bei submit ein neues Fenster öffnen

Hallo, ich habe hier ein kleines Problem und ... » mehr

von Kallchen am Freitag, 14. Januar 2011 23:07 in JavaScript - bisher 3 Antworten
Letzter Beitrag: Samstag, 15. Januar 2011 12:47 von alm

window.location = "_blankeineseite.html"; Das funktioniert auf keinen Fall. Die Location-Eigenschaft muss eine URL enthalten und wird bei ... » mehr



¬ Insolvenzrecht