aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/effects.js6
-rw-r--r--src/support.js8
2 files changed, 13 insertions, 1 deletions
diff --git a/src/effects.js b/src/effects.js
index d9e9a8b31..a41efc282 100644
--- a/src/effects.js
+++ b/src/effects.js
@@ -363,7 +363,9 @@ jQuery.fx.prototype = {
t.elem = this.elem;
if ( t() && jQuery.timers.push(t) && !timerId ) {
- timerId = setInterval(fx.tick, fx.interval);
+ jQuery.support.requestAnimationFrame ?
+ window[jQuery.support.requestAnimationFrame](fx.tick):
+ timerId = setInterval(fx.tick, fx.interval);
}
},
@@ -468,6 +470,8 @@ jQuery.extend( jQuery.fx, {
if ( !timers.length ) {
jQuery.fx.stop();
+ } else if ( jQuery.support.requestAnimationFrame ) {
+ window[jQuery.support.requestAnimationFrame](this);
}
},
diff --git a/src/support.js b/src/support.js
index 4c309562f..6d3318682 100644
--- a/src/support.js
+++ b/src/support.js
@@ -58,6 +58,14 @@
// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
optSelected: opt.selected,
+ // Verify requestAnimationFrame mechanism existence
+ // use the prefixed name as the value
+ requestAnimationFrame: mozRequestAnimationFrame ?
+ 'mozRequestAnimationFrame' :
+ webkitRequestAnimationFrame ?
+ 'webkitRequestAnimationFrame' :
+ false,
+
// Will be defined later
deleteExpando: true,
optDisabled: false,