Dans le jQuery source pour v1.6.2, je vois requestAnimationFrame
être utilisée si elle est présente. Je n'ai pas étudié le code en détail afin de voir qu'il est utilisé pour tout ce qu'il pourrait être utilisé pour, mais il est utilisé dans l'animation de la section du code au lieu d'un appel à l' setInterval()
. Voici le code de la 1.6.2:
// Start an animation from one number to another
custom: function( from, to, unit ) {
var self = this,
fx = jQuery.fx,
raf;
this.startTime = fxNow || createFxNow();
this.start = from;
this.end = to;
this.unit = unit || this.unit || ( jQuery.cssNumber[ this.prop ] ? "" : "px" );
this.now = this.start;
this.pos = this.state = 0;
function t( gotoEnd ) {
return self.step(gotoEnd);
}
t.elem = this.elem;
if ( t() && jQuery.timers.push(t) && !timerId ) {
// Use requestAnimationFrame instead of setInterval if available
if ( requestAnimationFrame ) {
timerId = true;
raf = function() {
// When timerId gets set to null at any point, this stops
if ( timerId ) {
requestAnimationFrame( raf );
fx.tick();
}
};
requestAnimationFrame( raf );
} else {
timerId = setInterval( fx.tick, fx.interval );
}
}
},
Je ne suis pas encore à l'aide de 1.6.4 donc je ne connais pas cette version. Si ce n'est pas dans cette version, alors il doit y avoir eu quelques problèmes de sorte qu'il a été supprimé.
EDIT:
Si vous lisez ce blog, il sonne comme il a été sorti de 1.6.3 et peut-être seront remis en 1.7 et la principale raison, il a été tiré, c'est parce qu'il a brisé des choses que les gens ont été "mal" à l'aide de l'animation de la file d'attente pour (mais peut-être que c'est une question d'opinion).