2012-04-12 12 views
1

Ich habe ein div mit einem CSS-Stil sagen grün oder blau, abhängig von der n-ten Kindfarbe. Ich stelle es auf Orange mitJquery + CSS Standard BG Farbe

<div id='yo' class='alternatingcolors' style='background-color: #FF9900;'>hello</div> 

und ich möchte es animieren wieder in seine ursprüngliche Farbe jedoch jQuerys

$('yo').animate({ backgroundColor: 'transparent'}, 500); 

verwenden, weder transparent, erben, null, oder ‚‘ Arbeit.

Wie würde ich es zu seiner ursprünglichen Farbe zurückbekommen? Im Wesentlichen möchte ich es in den Zustand vorher animieren: style = 'background-color: # FF9900;' war eingestellt.

$('#yo') 

Wenn das nicht das Problem:

Antwort

1

Die Lookup ‚yo‘ sollte mit einem Hash, zB vorangestellt werden

Sie könnten speichern die ursprüngliche Farbe als Daten in der div, dann wiederherstellen später:

<div id='yo' data-original-color='#FF9900' class='alternatingcolors'> 

dann:

$('#yo').animate({ backgroundColor: $('#yo').data('original-color') }, 500); 
+0

Woops, den Hash vergessen (es getippt, klebte nicht kopieren). Gibt es eine Möglichkeit, es ohne Speicherung zu tun? –

+0

Soweit ich weiß, sobald Sie eine Eigenschaft (z. B. Hintergrundfarbe) eines Elements ändern, wird es auf diese Weise beibehalten und es gibt keinen praktischen Verweis auf das Original. –

+0

In Ordnung, danke. Ich befürchtete, dass dies der Fall war. –

0

Sie ihren ersten Hintergrund-Farbe in eine Variable speichern kann und dann verwenden:

orange = $("yo").css("background-color")