X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Ffx%2Ffx.js;h=7c5ba445559f04b15ad95005300c8d97c7e9315f;hb=ad5539bab3e1d6806e054dd5b14cf341a675ded0;hp=075d1abb49280225caf6345d8316ca9d003f9d2d;hpb=97f2032e13b85db72910e9cc1e75f2eb75e43dc4;p=jquery.git diff --git a/src/fx/fx.js b/src/fx/fx.js index 075d1ab..7c5ba44 100644 --- a/src/fx/fx.js +++ b/src/fx/fx.js @@ -1,37 +1,4 @@ jQuery.fn.extend({ - - /** - * Displays each of the set of matched elements if they are hidden. - * - * @example $("p").show() - * @before

Hello

- * @result [

Hello

] - * - * @name show - * @type jQuery - * @cat Effects - */ - - /** - * Show all matched elements using a graceful animation and firing an - * optional callback after completion. - * - * The height, width, and opacity of each of the matched elements - * are changed dynamically according to the specified speed. - * - * @example $("p").show("slow"); - * - * @example $("p").show("slow",function(){ - * alert("Animation Done."); - * }); - * - * @name show - * @type jQuery - * @param String|Number speed A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000). - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @cat Effects - * @see hide(String|Number,Function) - */ show: function(speed,callback){ return speed ? this.animate({ @@ -45,38 +12,6 @@ jQuery.fn.extend({ }).end(); }, - /** - * Hides each of the set of matched elements if they are shown. - * - * @example $("p").hide() - * @before

Hello

- * @result [

Hello

] - * - * @name hide - * @type jQuery - * @cat Effects - */ - - /** - * Hide all matched elements using a graceful animation and firing an - * optional callback after completion. - * - * The height, width, and opacity of each of the matched elements - * are changed dynamically according to the specified speed. - * - * @example $("p").hide("slow"); - * - * @example $("p").hide("slow",function(){ - * alert("Animation Done."); - * }); - * - * @name hide - * @type jQuery - * @param String|Number speed A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000). - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @cat Effects - * @see show(String|Number,Function) - */ hide: function(speed,callback){ return speed ? this.animate({ @@ -94,19 +29,6 @@ jQuery.fn.extend({ // Save the old toggle function _toggle: jQuery.fn.toggle, - /** - * Toggles each of the set of matched elements. If they are shown, - * toggle makes them hidden. If they are hidden, toggle - * makes them shown. - * - * @example $("p").toggle() - * @before

Hello

Hello Again

- * @result [

Hello

,

Hello Again

] - * - * @name toggle - * @type jQuery - * @cat Effects - */ toggle: function( fn, fn2 ){ return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ? this._toggle( fn, fn2 ) : @@ -119,196 +41,30 @@ jQuery.fn.extend({ }); }, - /** - * Reveal all matched elements by adjusting their height and firing an - * optional callback after completion. - * - * Only the height is adjusted for this animation, causing all matched - * elements to be revealed in a "sliding" manner. - * - * @example $("p").slideDown("slow"); - * - * @example $("p").slideDown("slow",function(){ - * alert("Animation Done."); - * }); - * - * @name slideDown - * @type jQuery - * @param String|Number speed (optional) A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000). - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @cat Effects - * @see slideUp(String|Number,Function) - * @see slideToggle(String|Number,Function) - */ slideDown: function(speed,callback){ return this.animate({height: "show"}, speed, callback); }, - /** - * Hide all matched elements by adjusting their height and firing an - * optional callback after completion. - * - * Only the height is adjusted for this animation, causing all matched - * elements to be hidden in a "sliding" manner. - * - * @example $("p").slideUp("slow"); - * - * @example $("p").slideUp("slow",function(){ - * alert("Animation Done."); - * }); - * - * @name slideUp - * @type jQuery - * @param String|Number speed (optional) A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000). - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @cat Effects - * @see slideDown(String|Number,Function) - * @see slideToggle(String|Number,Function) - */ slideUp: function(speed,callback){ return this.animate({height: "hide"}, speed, callback); }, - /** - * Toggle the visibility of all matched elements by adjusting their height and firing an - * optional callback after completion. - * - * Only the height is adjusted for this animation, causing all matched - * elements to be hidden in a "sliding" manner. - * - * @example $("p").slideToggle("slow"); - * - * @example $("p").slideToggle("slow",function(){ - * alert("Animation Done."); - * }); - * - * @name slideToggle - * @type jQuery - * @param String|Number speed (optional) A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000). - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @cat Effects - * @see slideDown(String|Number,Function) - * @see slideUp(String|Number,Function) - */ slideToggle: function(speed, callback){ return this.animate({height: "toggle"}, speed, callback); }, - /** - * Fade in all matched elements by adjusting their opacity and firing an - * optional callback after completion. - * - * Only the opacity is adjusted for this animation, meaning that - * all of the matched elements should already have some form of height - * and width associated with them. - * - * @example $("p").fadeIn("slow"); - * - * @example $("p").fadeIn("slow",function(){ - * alert("Animation Done."); - * }); - * - * @name fadeIn - * @type jQuery - * @param String|Number speed (optional) A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000). - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @cat Effects - * @see fadeOut(String|Number,Function) - * @see fadeTo(String|Number,Number,Function) - */ fadeIn: function(speed, callback){ return this.animate({opacity: "show"}, speed, callback); }, - /** - * Fade out all matched elements by adjusting their opacity and firing an - * optional callback after completion. - * - * Only the opacity is adjusted for this animation, meaning that - * all of the matched elements should already have some form of height - * and width associated with them. - * - * @example $("p").fadeOut("slow"); - * - * @example $("p").fadeOut("slow",function(){ - * alert("Animation Done."); - * }); - * - * @name fadeOut - * @type jQuery - * @param String|Number speed (optional) A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000). - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @cat Effects - * @see fadeIn(String|Number,Function) - * @see fadeTo(String|Number,Number,Function) - */ fadeOut: function(speed, callback){ return this.animate({opacity: "hide"}, speed, callback); }, - /** - * Fade the opacity of all matched elements to a specified opacity and firing an - * optional callback after completion. - * - * Only the opacity is adjusted for this animation, meaning that - * all of the matched elements should already have some form of height - * and width associated with them. - * - * @example $("p").fadeTo("slow", 0.5); - * - * @example $("p").fadeTo("slow", 0.5, function(){ - * alert("Animation Done."); - * }); - * - * @name fadeTo - * @type jQuery - * @param String|Number speed A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000). - * @param Number opacity The opacity to fade to (a number from 0 to 1). - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @cat Effects - * @see fadeIn(String|Number,Function) - * @see fadeOut(String|Number,Function) - */ fadeTo: function(speed,to,callback){ return this.animate({opacity: to}, speed, callback); }, - /** - * A function for making your own, custom animations. The key aspect of - * this function is the object of style properties that will be animated, - * and to what end. Each key within the object represents a style property - * that will also be animated (for example: "height", "top", or "opacity"). - * - * Note that properties should be specified using camel case - * eg. marginLeft instead of margin-left. - * - * The value associated with the key represents to what end the property - * will be animated. If a number is provided as the value, then the style - * property will be transitioned from its current state to that new number. - * Otherwise if the string "hide", "show", or "toggle" is provided, a default - * animation will be constructed for that property. - * - * @example $("p").animate({ - * height: 'toggle', opacity: 'toggle' - * }, "slow"); - * - * @example $("p").animate({ - * left: 50, opacity: 'show' - * }, 500); - * - * @example $("p").animate({ - * opacity: 'show' - * }, "slow", "easein"); - * @desc An example of using an 'easing' function to provide a different style of animation. This will only work if you have a plugin that provides this easing function (Only "swing" and "linear" are provided by default, with jQuery). - * - * @name animate - * @type jQuery - * @param Hash params A set of style attributes that you wish to animate, and to what end. - * @param String|Number speed (optional) A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000). - * @param String easing (optional) The name of the easing effect that you want to use (e.g. "swing" or "linear"). Defaults to "swing". - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @cat Effects - */ animate: function( prop, speed, easing, callback ) { return this.queue(function(){ var hidden = jQuery(this).is(":hidden"), @@ -346,10 +102,6 @@ jQuery.fn.extend({ }); }, - /** - * - * @private - */ queue: function(type,fn){ if ( !fn ) { fn = type; @@ -368,6 +120,16 @@ jQuery.fn.extend({ if ( this.queue[type].length == 1 ) fn.apply(this); }); + }, + + stop: function(){ + var timers = jQuery.timers; + + return this.each(function(){ + for ( var i = 0; i < timers.length; i++ ) + if ( timers[i].elem == this ) + timers.splice(i--, 1); + }); } }); @@ -466,9 +228,13 @@ jQuery.extend({ z.now = from; z.a(); - jQuery.timers.push(function(){ + function t(){ return z.step(from, to); - }); + } + + t.elem = elem; + + jQuery.timers.push(t); if ( jQuery.timers.length == 1 ) { var timer = setInterval(function(){