reduce impact of requestAnimationFrame on incompatible browsers by minimizing number of lookups
This commit is contained in:
parent
03e6f7235b
commit
15e34d1f07
1 changed files with 11 additions and 5 deletions
16
src/effects.js
vendored
16
src/effects.js
vendored
|
@ -363,9 +363,17 @@ jQuery.fx.prototype = {
|
|||
t.elem = this.elem;
|
||||
|
||||
if ( t() && jQuery.timers.push(t) && !timerId ) {
|
||||
timerId = jQuery.support.requestAnimationFrame ?
|
||||
!window[jQuery.support.requestAnimationFrame](fx.tick):
|
||||
setInterval(fx.tick, fx.interval);
|
||||
if ( jQuery.support.requestAnimationFrame ) {
|
||||
timerId = true;
|
||||
(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 ) {
|
||||
jQuery.fx.stop();
|
||||
} else if ( jQuery.support.requestAnimationFrame && timerId) {
|
||||
window[jQuery.support.requestAnimationFrame](jQuery.fx.tick);
|
||||
}
|
||||
},
|
||||
|
||||
|
|
Loading…
Reference in a new issue