From 15e34d1f07d0c687d040af22dbc66f3978715217 Mon Sep 17 00:00:00 2001 From: louisremi Date: Wed, 2 Feb 2011 10:26:04 +0100 Subject: [PATCH] reduce impact of requestAnimationFrame on incompatible browsers by minimizing number of lookups --- src/effects.js | 16 +++++++++++----- 1 file 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); } }, -- 2.39.5