leif: Frequentielle Schleife in Javascript

Hallo!
Ich bekomme es nicht auf die Reihe, eine Endlosschleife in JavaScript hinzubasteln, die nur alle 2 Sekunden durchlaufen wird. Ohne Verzögerung ist es unproblematisch, aber nicht zweckgerecht.

Mein erster Ansatz war eine schlichte while-Schleife mit Inkrementierung. Hat den Browser (IE6) aber zerschossen.

Mein zweiter eine Rumrechnerei mit new Date() und getTime().

Dann stieß ich auf die feine Funktion setInterval(). Die Funktioniert aber leider nicht: Der durchläuft das Script 1x und dann nie wieder.

Mittlerweile versuch ich es mit einem Eigenaufruf innerhalb einer Funktion mit setTimeout(). Da hab ich aber das gleiche Problem.

Und so langsam gehn mir die Ideen aus...

Sieht jetzt ungefähr so aus (Die Funktion refresh soll in 2-Sekunden-Abständen endlos wieder aufgerufen werden):

function main() {
 refresh();
 window.setTimeout('main()',2000);
}

help?

leif

  1. Hallo leif!

    Hallo!
    Ich bekomme es nicht auf die Reihe, eine Endlosschleife in JavaScript hinzubasteln, die nur alle 2 Sekunden durchlaufen wird.

    Ich weiss ja nicht was bei deinen Versuchen schiefgeht, das setInterva ist es aber nicht, denn folgendes funktioniert ganz prima:

    <script>
    var n=0;
    var c=new Array("#ff0000","#ff00ff","#00ff00","#00ffff","#ffff00","#000000","#ffffff","#0000ff");
    function cc()
    {
      n++;
      if(n>=c.length)
        n=0;
      document.bgColor=c[n];
    }
    setInterval("cc();",250);
    </script>

    Gruss,
     Carsten