From 6faf75fb98ffdeb27dd8ce5a009d65dfa2921ec2 Mon Sep 17 00:00:00 2001 From: Ariel Flesler Date: Tue, 2 Jun 2009 02:14:58 +0000 Subject: [PATCH] jquery fx: Exposing the ticking function --- src/fx.js | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/src/fx.js b/src/fx.js index 220b88a..c5c0546 100644 --- a/src/fx.js +++ b/src/fx.js @@ -286,20 +286,8 @@ jQuery.fx.prototype = { t.elem = this.elem; - if ( t() && jQuery.timers.push(t) && !timerId ) { - timerId = setInterval(function(){ - var timers = jQuery.timers; - - for ( var i = 0; i < timers.length; i++ ) - if ( !timers[i]() ) - timers.splice(i--, 1); - - if ( !timers.length ) { - clearInterval( timerId ); - timerId = undefined; - } - }, 13); - } + if ( t() && jQuery.timers.push(t) && !timerId ) + timerId = setInterval(jQuery.fx.tick, 13); }, // Simple 'show' function @@ -386,12 +374,30 @@ jQuery.fx.prototype = { }; jQuery.extend( jQuery.fx, { + + tick:function(){ + var timers = jQuery.timers; + + for ( var i = 0; i < timers.length; i++ ) + if ( !timers[i]() ) + timers.splice(i--, 1); + + if ( !timers.length ) + jQuery.fx.stop(); + }, + + stop:function(){ + clearInterval( timerId ); + timerId = null; + }, + speeds:{ slow: 600, fast: 200, // Default speed _default: 400 }, + step: { opacity: function(fx){ -- 1.7.10.4