verwende Ich habe ein paar Klassen: hide
ist display: none
und transparent
ist opacity: 0
. Das Element pr_container
hat -webkit-transition: opacity 1s
. Der folgende JQuery-basierte Code macht ein Element in einem animierten fasion erscheinen:CSS-Übergänge funktionieren nicht, wenn ich Timeout
pr_container.removeClass("hide");
setTimeout(function() { pr_container.removeClass("transparent"); }, 0);
Allerdings, wenn ich setTimeout
entfernen und stattdessen nur die zweite Klasse entfernen, gibt es keine Animation. Warum?
Edit: Ich bin das neueste Chrome, ich habe noch anderen Browser nicht aktiviert.
Edit: Ich habe versucht, beiden Anrufe in dem gleichen setTimeout
Rückruf setzen - keine Animation. Es geht also eindeutig um Trennung.
Edit: hier ist der jsFiddle: http://jsfiddle.net/WfAVj/
Wie rufen Sie diesen Code? Kannst du mir einen Einblick geben, was passiert? – FixMaker
@Lorax hier ist es: http://jsfiddle.net/WfAVj/ –
Wenn Sie jQuery verwenden, gibt es einen Grund, möchten Sie die Animation von CSS-Übergang behandelt werden? Die Verwendung von ['.animate()'] (http://api.jquery.com/animate/) oder ['.fadeTo()'] (http://api.jquery.com/fadeTo/) würde wahrscheinlich besser ergeben Cross-Browser-Funktionalität. –