2011-10-10 15 views
6

Por el momento tengo un violín corriendo que estoy tratando de obtener una transición de opacidad css3 para disparar cuando agrego una clase a él. La configuración básica es que hago clic en un botón y luego, a través de jquery, agrego un div al dom y después de agregar ese elemento al dom, le agrego una clase. La clase de adición a ese nuevo elemento dom se supone que iniciará mi transición pero no lo es, lo único que está sucediendo es que el elemento se muestra pero la transición de opacidad no está funcionando. Cualquier ayuda será muy apreciada, estoy dejando un enlace al violín aquí fiddle link. Y sí, sé que podría hacer el desvanecimiento con solo jquery, pero esto es solo un experimento, que probablemente se utilizaría para iniciar otros CSS transición distinta a la opacidadTrigering a CSS3 Transition con la adición de una clase con Jquery

+0

que en efecto sólo se parecen funcionar si la clase es predefinido ... agregarlo dinámicamente no ejecutará la transición. Quizás esto todavía es un error por resolver. –

+0

Eso es en lo que estaba pensando, pero es hasta que me cuesta creer que esto no haya sido notado por los desarrolladores de Chrome o Firefox – Lawrence

Respuesta

0

No creo que las transiciones CSS3 sean compatibles con elementos creados dinámicamente todavía. Intenté modificar tu muestra colocando el div directamente en el HTML, y las transiciones funcionaron bien. Puede que tenga que vivir con eso como una solución alternativa hasta que mejore la compatibilidad con el navegador.

9

He encontrado este problema antes, la única solución que he encontrado es agregar un setTimeout para que el DOM advierta que hay un elemento nuevo. Puede ser cero ms y seguirá siendo el trabajo:

$('button').live('click', function() { 
    $(this).after("<div class='fade'>This is just a test</div>") 
    setTimeout(function(){$(".fade").addClass("in");}, 0) 
}); 

http://jsfiddle.net/tfmFx/

+0

Bueno, eso es realmente molesto. Gracias por la solución. – BinaryTox1n

+0

¡GRACIAS! ¡HE ESTADO BUSCANDO UNA SOLUCIÓN POR MÁS DE UN MES! – neaumusic

+0

me salvó el día ... aunque es una publicación muy antigua :) – poddroid

Cuestiones relacionadas