Timer + steuerung per echo?

Also nehmen wir an, du willst alle 5 Sekunden etwas ausgeben.
Dazu wirst du dir dir eine Funktion schreien, die beim Laden der Seite (onload) aufgerufen wird. Diese Funktion gibt die gerade auktuelle Meldung aus, wobei alle Meldungen in einem Array gespeicht sind und ruft sich dann 5 Sek. später wieder auf. Das spätere Aufrufen wird über setTimeout() bewerkstelligt.
Das schreiben wird über document.getElmentById.innerHTML gemacht.
Die Funktion bricht ab, wenn es keine entsprechenden Array-Elemente mehr gibt. Du kannst das Array auch per php reinschreiben.

Beispiel:
HTML:
<script type="text/javascript"><!--
var nachrichten = new Array();
nachrichten = ['erste Nachricht', 'zweite Nachricht', 'dritte Nachricht'];

window.onload=Funktion;

function Funktion() {
    nr = isNaN(Funktion.arguments[0]) ? 0 : Funktion.arguments[0];
    document.getElementById('ausgabe').innerHTML += nachrichten[nr]+'<br />\n';
    if (nr < nachrichten.length-1) setTimeout('Funktion('+ (nr+1) +')',5000);
}

//-->
</script>

<div id="ausgabe"></div>
 
Zuletzt bearbeitet:
Du musst noch der Funktion die Daten übergeben. Das hat Confuse in seinem Beispiel anscheinend vergessen.
 
Man braucht keine Daten übergeben oder Ähnliches. Ich hatte nur einen kleinen Fehler drin, den du aber auch mühelos selber hättest finden können. Habe es jetzt im Originalpost ausgebessert. Jetzt sollte es funktionieren.

Für's nächste Mal: Studiere die Fehlermeldungen in der Javascript-Konsole deines Browsers.
 
Zuletzt bearbeitet:
Nö, das Script funktioniert jetzt sicher. Ich wollte damit nur sagen, dass selbst du, der du ja, wie du sagst nicht viel von Javascript verstehst das vorherige Problem aus der Welt hättest schaffen können. Jeder Browser hat sowas wie eine Javascript-Konsole, in der man sich die Fehlermeldungen anschauen kann und ein Blick hätte dir verraten, was falsch ist.
 

Neue Beiträge

Zurück