Bernhard Helmes: zyklisches Vertauschen von Hintergrundfarbe bei Tabellenzelle

Hallo ihr Lieben,

ich möchte gerne eine zyklische Vertauschung der Hintergrundfarbe von einer Tabellezelle. Es klappt aber nicht. Was ist falsch ?
<script language="JavaScript">

function AndereFarbe(bgColor)
  {
if(bgColor == '#FFFFFF') bgColor='FF0000';
else if(bgColor == '#FF0000') bgColor='FFFF00';  
else if(bgColor == '#FFFF00') bgColor='FFFFFF';  
    return (bgColor);
  }
  </script>
<table cellspacing="2" cellpadding="2" border="0">
<tr>
    <td bgcolor="#FFFFFF" onClick="this.bgColor = 'AndereFarbe (this.bgColor)'">Abenteuer</td>
</tr>
<tr>
    <td></td>
    <td></td>
</tr>
</table>

Gruß aus Aachen
Bernhard

  1. Eine 1x1-Pixel-GIF-Animation, eingebunden per CSS, funzt sogar ohne JavaScript ;-)
    Gruß
    Ivan

    1. Eine 1x1-Pixel-GIF-Animation, eingebunden per CSS, funzt sogar ohne JavaScript ;-)

      Schöne Idee, klappt auch ist aber nicht im Sinne des Erfinders.
      Ich wollte gerne ein Begriff farblich markieren
      entweder weiß= uninteressant,
      grün= ausgewählt und rot = abgelehnt und dann diese Begriffe mit ihren Attributen weiter verarbeiten.

      Eine Gifanimation würde ständig blinken, würde aber eine Auswahlmöglichkeit nicht zulassen.

      Gruß
      Bernhard

  2. Hi !

    <td bgcolor="#FFFFFF" onClick="this.bgColor = 'AndereFarbe (this.bgColor)'">Abenteuer</td>

    Wenn mich nicht alles täuscht, müsste diese Zeile

    <td bgcolor="#FFFFFF" onClick="this.bgColor=AndereFarbe (this.bgColor)">Abenteuer</td>

    lauten. Ansonsten wird die Zeichenfolge 'AndereFarbe(this.bgColor)' in this.bgColor geschrieben, nicht aber das Ergebnis der Funktion, und aufgerufen wird sie so auch nicht...

    Vielleicht vertu' ich mich aber auch...

    Tschö
    H-Man

  3. Hi Bernhard.

    Wenn Du bgColor via alert() ausgibst wirst Du sehen, daß der Wert in Kleinbuchstaben zurückgegeben wird.
    Wenn Du

    if(bgColor.toUpperCase() == '#FFFFFF') bgColor='#FF0000'

    schreibst und den Tipp von H-Man berücksichtigst, klappts.

    Gruß, Marco ;-)