Mam kilka klas: hide
jest display: none
, a transparent
jest opacity: 0
. Element pr_container
ma wartość pr_container
. Poniższy kod JQuery oparte sprawia element pojawia się w animowanym fasion:Przejścia CSS nie działają, chyba że używam limitu czasu
pr_container.removeClass("hide");
setTimeout(function() { pr_container.removeClass("transparent"); }, 0);
Jednak, kiedy usunąć setTimeout
i zamiast po prostu usunąć drugą klasę, nie ma animacji. Czemu?
Edytuj: Używam najnowszego Chrome, jeszcze nie sprawdziłem innych przeglądarek.
Edytuj: Próbowałem umieszczać oba wywołania w tym samym wywołaniu zwrotnym setTimeout
- bez animacji. Więc wyraźnie chodzi o separację.
Edit: oto jsFiddle: http://jsfiddle.net/WfAVj/
Jak wywołujesz ten kod? Czy możesz podać jsfiddle, aby pokazać, co się dzieje? – FixMaker
@Lorax tutaj: http://jsfiddle.net/WfAVj/ –
Jeśli używasz jQuery, czy istnieje powód, dla którego chcesz, aby animacja była obsługiwana przez przejście CSS? Używanie [.animate() '] (http://api.jquery.com/animate/) lub [' .fadeTo() '] (http://api.jquery.com/fadeTo/) prawdopodobnie przyniesie lepsze funkcjonalność w różnych przeglądarkach. –