Uwe: window.setTimeout

Hallo,

langsam zweifle ich an meinem Verstand.
Die Seite sollte alle Sekunde die Hintergrundfarbe wechseln, tut es aber nur einmal und ich finde den Fehler nicht.

Vielen Dank im voraus !!!

Uwe

<html><head><title>Test</title>
<script type="text/javascript">
<!--
var backColor = new Array();
backColor[0] = '#FF0000';
backColor[1] = '#00FF00';
backColor[2] = '#FFC0C0';
var color = -1;
function changeBG()
{
  if (color < 2)
  {
    color++;
  }
  else
  {
    color = 0;
  }
  document.bgColor = backColor[color];
}

window.setTimeout('changeBG()',3000);
//-->
</script>
</head><body>
<p>FARBWECHSEL</p>
</body></html>

  1. Setze einfach window.setTimeout('changeBG()',3000); in die Funktion changeBG() mit rein und ruf sie onload auf. Fertsch.

  2. Hi,

    langsam zweifle ich an meinem Verstand.
    Die Seite sollte alle Sekunde die Hintergrundfarbe wechseln,

    Willst Du das Deinen Seitenbesuchern wirklich zumuten?
    Wenn Du das wirklich willst, dann zweifelst nicht nur Du an Deinem Verstand...

    window.setTimeout('changeBG()',3000);

    Es wird genau einmal gesagt, daß nach 3 Sekunden etwas geschehen soll. Wie soll dadurch erreicht werden, daß alle Sekunde etwas geschieht?

    Nutze - wenn es denn sein muß - setInterval.
    Und nicht mit 3000, sondern mit 1000 - denn eine Sekunde besteht nur aus 1000 Millisekunden, nicht aus 3000 Millisekunden.

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.