aboutsummaryrefslogtreecommitdiffstats
path: root/src/effects.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/effects.js')
-rw-r--r--src/effects.js16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/effects.js b/src/effects.js
index 6a72a88fd..12b87bd4e 100644
--- a/src/effects.js
+++ b/src/effects.js
@@ -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);
}
},