¿Existe un marco de JavaScript que use CSS3 Transitions para efectos como cambiar la opacidad o mover elementos pero recurrirá a javascript setInterval/setTimeout si no es compatible?CSS3 Transiciones con Javascript Fallback
Respuesta
Salida del módulo de Transición YUI 3, que hace precisamente eso.
Se podría contemplar la utilización de http://www.modernizr.com/
que se ve bien para detectar facilitación de las transiciones. También noté que mootools tiene: http://mootools.net/docs/core/Fx/Fx.Tween y http://mootools.net/forge/p/fx_tween_css3 – benmmurphy
Modernizr es la forma más efectiva de comprobación de funciones en este momento y en 3kb, es realmente liviano (comparado con Mootools) – Jeepstone
LOL por supuesto Modernizr es más pequeño que MooTools es un kit de detección, no un Framework para dom manipulación, abstracción de clases y scripts de servidor – rgb
Echa un vistazo Addy Osmani's article. Es un buen resumen de las soluciones actuales con jQuery, específicamente:
- jquery.transition.js por Louis-Rémi Babé
- jQuery.animate-enhanced.js por Ben Barnett
Para resumir, hay algunos plugins para grandes marcos (ver otras respuestas):
Otros marcos ya utilizan transiciones CSS siempre que sea posible:
¿Hay micro-bibliotecas?
lamentablemente, ninguna de estas alternativas parece permitirle utilizar los easings, como rebotar.
Mi intento de usar animado mejorado movió el elemento una pulgada y luego simplemente lo eliminó. Realmente me gustaría mantener el rebote en lugar de solo una relajación cúbica o lineal.
Uno de mis colegas ha escrito una biblioteca de micro ofreciendo un repliegue limitado a JS Transiciones: http://blogs.msdn.com/b/eternalcoding/archive/2011/12/06/css3-transitions.aspx
TRANSITIONSHELPER.computeCubicBezierCurveInterpolation = function (t, x1, y1, x2, y2) {
// Extract X (which is equal to time here)
var f0 = 1 - 3 * x2 + 3 * x1;
var f1 = 3 * x2 - 6 * x1;
var f2 = 3 * x1;
var refinedT = t;
for (var i = 0; i < 5; i++) {
var refinedT2 = refinedT * refinedT;
var refinedT3 = refinedT2 * refinedT;
var x = f0 * refinedT3 + f1 * refinedT2 + f2 * refinedT;
var slope = 1.0/(3.0 * f0 * refinedT2 + 2.0 * f1 * refinedT + f2);
refinedT -= (x - t) * slope;
refinedT = Math.min(1, Math.max(0, refinedT));
}
// Resolve cubic bezier for the given x
return 3 * Math.pow(1 - refinedT, 2) * refinedT * y1 +
3 * (1 - refinedT) * Math.pow(refinedT, 2) * y2 +
Math.pow(refinedT, 3);
};
Tal vez podría ser suficiente, o una buena base para lograr lo que es que usted está buscando?
adiós,
David
- 1. Retraso mouseout/hover con transiciones CSS3
- 2. activar/desactivar heredados transiciones CSS3
- 3. Recreación de transiciones CSS3 Curva cúbica-Bezier
- 4. Transiciones de CSS3 a elementos creados dinámicamente
- 5. Transiciones de CSS3 dentro de jQuery .css()
- 6. HTML5 shim fallback?
- 7. ¿qué es más rápido? ¿Transiciones CSS3 o animaciones jQuery?
- 8. Transiciones CSS3 en pseudo-elementos (: después,: antes) ¿no funciona?
- 9. Las transiciones CSS3 quieren agregar un color y desvanecerlo
- 10. Diferencia entre las transiciones CSS3 de entrada y salida
- 11. jQuery Mobile CSS3 Transiciones de página sin jQuery Mobile Library
- 12. Modernizr y jQuery para animar si CSS3 transiciones no existen
- 13. Implementando History.js HTML4 Fallback
- 14. Desactive las transiciones CSS3 de Bootstrap en las barras de progreso
- 15. Fallback de SwfUpload para clientes sin Flash
- 16. Transiciones CSS3: cómo demorar el restablecimiento de la propiedad del índice Z?
- 17. Desactivar animación CSS3 con jQuery?
- 18. Efectos de desplazamiento con el uso de eventos táctiles CSS3
- 19. Comprobador de JavaScript para HTML5 y CSS3
- 20. CSS3, orden de transición de WebKit? ¿Cómo hacer cola para las transiciones?
- 21. css3 slideup slide
- 22. Javascript que actúa como transición css3
- 23. CSS3 Transiciones 3D parpadeando en firefox cuando también usa box-shadow
- 24. HTML 5 transiciones de página
- 25. IE <9 CSS3 Transition Effect Cheats?
- 26. desplazamiento animado con CSS3
- 27. ¿Puedo desactivar temporalmente todas las transiciones/animaciones de CSS3 mientras se crea un elemento?
- 28. Transiciones CSS3: ¿hay una opción de clic al hacer clic sin usar JQuery?
- 29. CSS3 Transiciones: ¿La "transición: todo" es más lenta que la "transición: x"?
- 30. ¿Cómo se determina la dirección de rotación en las transiciones CSS3?
Una transición simple de YUI3: YUI(). Use ('nodo', 'transición', función (Y) {Y.one ('# mynode'). Transición (opacidad: 0);}); – PottyBert
jaja, eso es simple?deberías ver el simple de jquery ... porque eso no es simple en comparación con Jquery. –
sí, es simple. También incluye el sandbox YUI para evitar la interferencia externa de tu código – PottyBert