Esiste un framework javascript che utilizzerà le transizioni CSS3 per effetti come cambiare l'opacità o spostare elementi, ma tornerà a utilizzare javascript setInterval/setTimeout se non è supportato?Transizioni CSS3 con Fallback Javascript
risposta
Estrai il modulo di transizione YUI 3, si fa proprio questo.
Si potrebbe guardare con http://www.modernizr.com/
che sembra buona per rilevare il sostegno alle trasformazioni. Ho anche notato che mootools ha: http://mootools.net/docs/core/Fx/Fx.Tween e http://mootools.net/forge/p/fx_tween_css3 – benmmurphy
Modernizr è il modo più efficace di controllo delle funzionalità al momento e a 3kb, è davvero leggero (rispetto a Mootools) – Jeepstone
LOL ovviamente Modernizr è più piccolo di MooTools è un kit di rilevamento non un Framework per manipolazione dom, astrazione di classe e scripting serveride – rgb
Check out Addy Osmani's article. Si tratta di una buona sintesi delle soluzioni attuali con jQuery, in particolare:
- jquery.transition.js da Louis-Rémi bambino
- jQuery.animate-enhanced.js da Ben Barnett
Per riassumere, ci sono alcuni plugin per grandi quadri (vedi altre risposte):
Altri quadri già utilizzano le transizioni CSS, se possibile:
Esistono micro-biblioteche?
purtroppo nessuna di queste alternative sembra consentirvi di utilizzare le attenuazioni, come il rimbalzo.
Il mio tentativo di utilizzare animate-enhanced ha spostato l'elemento di un pollice e poi lo ha rimosso. Mi piacerebbe davvero mantenere il rimbalzo invece di un semplice allentamento cubico o lineare.
Uno dei miei colleghi ha scritto un micro biblioteca che offre un numero limitato di fallback JS per Transitions: 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);
};
Forse potrebbe essere abbastanza o una buona base per raggiungere ciò che è che stai cercando?
Bye,
David
- 1. CSS3 trasforma e transizioni (Webkit)
- 2. Fallback JQuery per la transizione CSS3
- 3. Transizioni CSS3 agli elementi creati dinamicamente
- 4. Ritarda il mouseout/passa il mouse con le transizioni CSS3
- 5. Transizioni CSS3 all'interno di jQuery .css()
- 6. JavaScript fallback variabile
- 7. Disattiva le transizioni CSS3 di Bootstrap sulle barre di avanzamento
- 8. Transizioni CSS3 - Come ritardare il reset della proprietà z-index?
- 9. CSS3 Transitions - aggiungendo 2 transizioni diverse per lo stesso elemento
- 10. jQuery Mobile CSS3 Transizioni di pagina senza jQuery Mobile Library
- 11. Le transizioni CSS3 su pseudo-elementi (: dopo,: prima) non funzionano?
- 12. La proprietà Background RGBA non è supportata dalle transizioni CSS3?
- 13. Transizioni CSS3: esiste un'opzione su clic senza utilizzare JQuery?
- 14. Animazione di jQueryUI Ordinabile utilizzando le transizioni CSS3
- 15. Come riprodurre le transizioni CSS3 in un ciclo?
- 16. Aggiungi supporto CSS3 a IE7 + con Javascript
- 17. Come animare gli elementi si muovono con transizioni css3 dopo aver nascosto un elemento
- 18. Immagine predefinita (fallback) con .htaccess?
- 19. Modernizr Yepnope Css Fallback
- 20. Disattiva l'animazione CSS3 con jQuery?
- 21. Avvia animazione CSS3 utilizzando Javascript con evento onclick
- 22. fade in/out con CSS3
- 23. Nessuna visualizzazione JavaScript dopo animazione CSS3
- 24. HTML5, CSS3 e JavaScript Risorse didattiche
- 25. rendering fallback lato server
- 26. Definire una proprietà getter Universal/Fallback in JavaScript
- 27. IE <9 Trucchi effetto transizione CSS3?
- 28. Controllo JavaScript per HTML5 e CSS3
- 29. Transizione CSS3 non funzionante
- 30. CSS3 Transizioni 3D che sfarfalla in firefox quando si utilizza anche box-shadow
Una semplice transizione YUI3: YUI(). Use ('node', 'transition', function (Y) {Y.one ('# mynode'). Transition (opacity: 0);}); – PottyBert
lol è semplice?dovresti controllare jquery è semplice ... perché non è semplice rispetto a Jquery. –
sì, è semplice. Include anche la sandbox YUI per evitare interferenze esterne del codice – PottyBert