Tengo una página que fadeIn y fadeOut un elemento en línea y jQuery no funciona. Y luego, cuando cambio las herramientas de desarrollador para usar el modo de navegador de IE 7, se muestran los efectos fadeIn() y fadeOut().¿FadeIn() y fadeOut() de jQuery no funcionan con IE 8?
Respuesta
IE tiene un detalle de implementación conocido como "hasLayout" que, por desgracia, a menudo se escapa de la abstracción de la API y debe tratarse de frente ... Esta es la batalla que enfrenta hoy: los elementos en línea generalmente no tendrán "diseño" y por lo tanto no funcionará con "filtros" ... que es lo que jQuery usa para simular la opacidad en IE.
Esto no es nuevo en IE8, y normalmente no tendrías que preocuparte por nada, ya que es exactamente este tipo de locura específica del navegador que jQuery tiene la intención de asumir. De hecho, es por eso que No me molesto en entrar en detalles sobre lo que realmente significan "hasLayout" y "filters": probablemente no le importe, y no debería tener que hacerlo (pero, si le interesa, googlearlo ...)
El problema es que el hack que jQuery usa debajo del capó para forzar el diseño (por lo que los filtros funcionan (para que pueda simular la opacidad (ya que IE no lo implementa))) ... no funciona en IE8. No es que simplemente genial, ¿eh? Solucionaron el error por el cual los elementos display: inline
se comportaban como elementos display: inline-block
, pero descuidaron la implementación de la característica de que la gente estaba usando su error para hackear en soporte ...
Bueno, nada que puedas hacer al respecto. Escribir un desagradable correo electrónico a Team IE puede hacerte sentir un poco mejor, pero están trabajando duro en IE9, que debería (tocar la madera ...) solucionar la mayoría de estos problemas. Mientras tanto, sólo tendrá que hacer manualmente lo que IE utiliza que ver (poco, sorta, y sin duda incorrectamente) por sí mismo: fuerza el elemento en línea en modo inline-block:
$("myInlineElement").css({display: 'inline-block'}).faceOut();
... o mejor aún, put it in an IE8-only stylesheet ...
- 1. Jquery Stop Fadein/Fadeout
- 2. Jquery replaceWith - fadeout/Fadein
- 3. jquery fadeout, load, fadein
- 4. jQuery: interrumpir fadeIn()/fadeOut()
- 5. jQuery fadeIn fadeOut - IE8 no se desvanece
- 6. jQuery fadeIn fadeOut hace desplazamiento de página
- 7. jQuery Animación, Encadenamiento, .each() y .animate() (o fadeIn() y fadeOut())
- 8. jQuery fadeOut/fadeIn no funciona como se esperaba?
- 9. Google Maps API V3 InfoBox utilizando jQuery fadeIn y fadeOut
- 10. usando jquery cómo usar fadein, delay y luego fadeout issue
- 11. fadeIn vs vs fadeOut fadeTo
- 12. imagen de fondo jquery - fadeOut/fadeIn en hover
- 13. jQuery .addClass y .fadeIn?
- 14. jQuery .load() con efecto fadeIn
- 15. Android alpha animation fadein fadeout with retrasys
- 16. jQuery no fadeIn trabajo
- 17. ¿IE 8 no es compatible con push?
- 18. jQuery AJAX no funciona en IE 7/8
- 19. Jquery forma de plugin no funciona en IE 8
- 20. jQuery rendimiento scrollTop en IE 8
- 21. evento de carga con jquery falla en IE 8
- 22. jQuery cambio div Imagen de fondo con fadeIn/salida
- 23. fadeOut secuencia de jQuery y luego retire
- 24. CSS Transform no funciona en IE 8
- 25. jQuery - Esperando que el fadeOut se complete antes de ejecutar fadeIn
- 26. ¿Por qué jquery fadeIn() no funciona con .html()?
- 27. jQuery Mouse Flicker en IE
- 28. ¿Cómo ejecutar jQuery fadeIn() y slideDown() simultáneamente?
- 29. jQuery: FadeOut luego SlideUp
- 30. jQuery devolución de llamada no se espera en fadeOut
Funciona para mí. ¿Es válido el marcado HTML? Si no es así, IE hace las cosas de la manera en que 'IT' piensa que es lo mejor, lo que generalmente es incorrecto. (contra el uso de estándares) – Aren