Only fadeIn/Out or slideUp/Down elements that are already hidden/visible (for #1051).
authorJohn Resig <jeresig@gmail.com>
Sun, 18 Mar 2007 18:52:09 +0000 (18:52 +0000)
committerJohn Resig <jeresig@gmail.com>
Sun, 18 Mar 2007 18:52:09 +0000 (18:52 +0000)
src/fx/fx.js

index 933c9bf..59cdcea 100644 (file)
@@ -143,7 +143,7 @@ jQuery.fn.extend({
         * @see slideToggle(String|Number,Function)
         */
        slideDown: function(speed,callback){
-               return this.animate({height: "show"}, speed, callback);
+               return this.filter(":hidden").animate({height: "show"}, speed, callback).end();
        },
        
        /**
@@ -168,7 +168,7 @@ jQuery.fn.extend({
         * @see slideToggle(String|Number,Function)
         */
        slideUp: function(speed,callback){
-               return this.animate({height: "hide"}, speed, callback);
+               return this.filter(":visible").animate({height: "hide"}, speed, callback).end();
        },
 
        /**
@@ -222,7 +222,7 @@ jQuery.fn.extend({
         * @see fadeTo(String|Number,Number,Function)
         */
        fadeIn: function(speed, callback){
-               return this.animate({opacity: "show"}, speed, callback);
+               return this.filter(":hidden").animate({opacity: "show"}, speed, callback).end();
        },
        
        /**
@@ -248,7 +248,7 @@ jQuery.fn.extend({
         * @see fadeTo(String|Number,Number,Function)
         */
        fadeOut: function(speed, callback){
-               return this.animate({opacity: "hide"}, speed, callback);
+               return this.filter(":visible").animate({opacity: "hide"}, speed, callback).end();
        },
        
        /**