André Laugks: Hintergrundfarbe wechseln (kurios)

Hallo!

Ich habe hier ein kleines Script, welches alle 0,5 sekunden die Hintergrundfarbe einer Tabellenzelle ändert.

Sobald ich die alert's einkommentiere werden die Fraben gewechselt. Sowohl im IE 6 als auch im Mozilla 1.6.

Was ist das Problem? Ähmm ich habe das schon zig mal gemacht...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
 <script type="text/javascript">
 <!--
  x = 0;
  function erster()
   {
    if(document.getElementById)
     {
      if(x)
       {
        document.getElementById('erster').style.backgroundColor = "#ff0000";
        x = 0;
        //alert(x);
       }
      if(!x)
       {
        document.getElementById('erster').style.backgroundColor = "#00ff00";
        x = 1;
        //alert(x);
       }

}
    setTimeout('erster()', 500);
   }

//-->
 </script>
</head>

<body onload="erster();">
<table width="100">
 <tr>
  <td id="erster">&nbsp;</td>
 </tr>
</table>
</body>
</html>

MfG, André Laugks

--
L-Andre @ gmx.de
  1. Hi,

    kann es sein, dass es damit zusammen hängt,
    dass x die werte 1 oder 0 annimt, du aber vergleicht sb x entweder true oder false ist?

    setze vielleicht mal x = false, bzw. x = true.

    viele grüsse zu später stunde aus münster,
    Turtle

    1. Hallo!

      kann es sein, dass es damit zusammen hängt,
      dass x die werte 1 oder 0 annimt, du aber vergleicht sb x entweder true oder false ist?

      setze vielleicht mal x = false, bzw. x = true.

      Das ist ein "Schalter"!

      0 -> false
      1 -> true

      MfG, André Laugks

      --
      L-Andre @ gmx.de
  2. Hallo,

    ich würde sagen das liegt an dem fehlenden else vor dem if(!x). mit alert sieht man den farbwechsel nur, weil ja zwischen dem farbwechsel und dem klick genügend zeit vergeht.

    MfG Mülli

    --
    Viva Colonia!
    1. Hallo!

      ich würde sagen das liegt an dem fehlenden else vor dem if(!x). mit alert sieht man den farbwechsel nur, weil ja zwischen dem farbwechsel und dem klick genügend zeit vergeht.

      [pref:t=82954&m=484333]

      MfG, André Laugks

      --
      L-Andre @ gmx.de
  3. Hi,

    if(x)
           {
            document.getElementById('erster').style.backgroundColor = "#ff0000";
            x = 0;
           }
          if(!x)
           {
            document.getElementById('erster').style.backgroundColor = "#00ff00";

    Du solltest hier "else" verwenden.
    Denn so wie Du es jetzt hast, wird die Farbe auf rot gewechselt, dann x auf 0 gesetzt, dann geprüft, ob x 0 ist und sofort auf grün gewechselt.

    Der Alert sorgt für die Verzögerung, damit die Änderung auf Rot gezeichnet werden kann, bevor der Wert auf grün gesetzt wird.

    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.
    1. Hallo!

      Denn so wie Du es jetzt hast, wird die Farbe auf rot gewechselt, dann x auf 0 gesetzt, dann geprüft, ob x 0 ist und sofort auf grün gewechselt.

      Mann..., zu viel Fussballbier! Klar! Danke!

      MfG, André Laugks

      --
      L-Andre @ gmx.de
      1. Hallo,

        Mann..., zu viel Fussballbier! Klar! Danke!

        Hehe, immerhin schiesst du dich nicht so komplett ab wie ich, wenn ich Alkohol in die Finger bekomme. ;-)

        MfG Mülli

        --
        Viva Colonia!
        1. Hallo!

          Hehe, immerhin schiesst du dich nicht so komplett ab wie ich, wenn ich Alkohol in die Finger bekomme. ;-)

          Ich stehe bei einem EM-Spiel seit einer Woche auf dem ersten Platz, da mußte ich doch den ersten Platz etwas animieren. :-)

          Dabei weiß ich nicht einmal was Abseits ist...

          MfG, André Laugks

          --
          L-Andre @ gmx.de