reduce impact of requestAnimationFrame on incompatible browsers by minimizing number of lookups
This commit is contained in:
parent
03e6f7235b
commit
15e34d1f07
16
src/effects.js
vendored
16
src/effects.js
vendored
|
@ -363,9 +363,17 @@ jQuery.fx.prototype = {
|
||||||
t.elem = this.elem;
|
t.elem = this.elem;
|
||||||
|
|
||||||
if ( t() && jQuery.timers.push(t) && !timerId ) {
|
if ( t() && jQuery.timers.push(t) && !timerId ) {
|
||||||
timerId = jQuery.support.requestAnimationFrame ?
|
if ( jQuery.support.requestAnimationFrame ) {
|
||||||
!window[jQuery.support.requestAnimationFrame](fx.tick):
|
timerId = true;
|
||||||
setInterval(fx.tick, fx.interval);
|
(function raf() {
|
||||||
|
if (timerId) {
|
||||||
|
window[jQuery.support.requestAnimationFrame](raf);
|
||||||
|
}
|
||||||
|
fx.tick();
|
||||||
|
})();
|
||||||
|
} else {
|
||||||
|
timerId = setInterval(fx.tick, fx.interval);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -470,8 +478,6 @@ jQuery.extend( jQuery.fx, {
|
||||||
|
|
||||||
if ( !timers.length ) {
|
if ( !timers.length ) {
|
||||||
jQuery.fx.stop();
|
jQuery.fx.stop();
|
||||||
} else if ( jQuery.support.requestAnimationFrame && timerId) {
|
|
||||||
window[jQuery.support.requestAnimationFrame](jQuery.fx.tick);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue