Ich habe versucht, das tatsächliche Ergebnis des Aufrufs zu protokollieren:
$(this).css("background-color")
Das Ergebnis (auf Chrome) war: rgb(255,255,255)
damit es aus dem String "#FFFFFF"
unterscheidet.
Auch das Problem mit dem counter
ist, dass, wenn es eine ungerade Zahl ist Sie die Hintergrundfarbe auf rot gesetzt, wenn es der Hintergrund-Farbe Rot eine gerade Zahl ist, ist [Rückkehr rgb(255,0,0)
] und somit ist es anders aus "#FFFFFF"
.
Hier ist ein Fiddle.
Ich würde Ihnen vorschlagen, eine andere Art von Spiel mit .. Sie zum Beispiel Klassen auf Klick und nutzen den zusätzlichen Klassen Wähler wechseln konnte die background-color
Verwendung Klassen statt $(this).css(..) == "a color string"
innerhalb der IF
Zustand zu verändern bedeutet, dass Sie können eine .white
Klasse erstellen, die Ihr Artikel am Anfang hat. Wenn Sie darauf klicken, wenn es .white
Klasse hat, als Sie seine Farbe eine andere Klasse mit ändern .red
(Klassennamen sind Beispiele, nur um sie nennen, wie Sie wollen)
Die Klassen nur die background-color
in Ihrer CSS-Datei ändern, damit festgelegt werden sie ‚ll so etwas wie:
.white{
background-color: #FFFFFF
}
.red{
background-color: #FF0000
}
'$ (this) .css (" background-color ")' wird wahrscheinlich 'rgb (255,255,255)' sein. Vertraue niemals Farben. – Oriol
Zusätzlich zu Oriols Kommentar, anstatt den Farbwert zu testen (was im besten Fall zuverlässig ist), weisen Sie CSS-Klassen die angegebenen Hintergrundfarben zu und verwenden 'toggleClass()', um Klassen von einer zur anderen zu wechseln. –
Wie lautet Ihr anfänglicher Wert für die Variable Zähler? Was ist die Reihenfolge, die Sie erhalten möchten: weiß, schwarz, rot, rot, rot oder weiß, schwarz, rot, schwarz, rot oder etwas anderes? – skobaljic