X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Ffx.js;h=45c2389cd140f7e18f47a1d2c0d2a5b293c190c9;hb=62a251a0cf8b8652082da3d5a72b6c6e2b120914;hp=3d00515ff0fd040f2d410a0ada6b23a82d819198;hpb=0ae78024c23dd3ef4bcea883338d975dcf843597;p=jquery.git diff --git a/src/fx.js b/src/fx.js index 3d00515..45c2389 100644 --- a/src/fx.js +++ b/src/fx.js @@ -46,12 +46,12 @@ jQuery.fn.extend({ jQuery.data(this[i], "olddisplay", display); } + } - // Set the display of the elements in a second loop - // to avoid the constant reflow - for ( var i = 0, l = this.length; i < l; i++ ){ - this[i].style.display = jQuery.data(this[i], "olddisplay"); - } + // Set the display of the elements in a second loop + // to avoid the constant reflow + for ( var i = 0, l = this.length; i < l; i++ ){ + this[i].style.display = jQuery.data(this[i], "olddisplay") || ""; } return this; @@ -95,7 +95,8 @@ jQuery.fn.extend({ }, fadeTo: function(speed,to,callback){ - return this.animate({opacity: to}, speed, callback); + return this.filter(":hidden").css('opacity', 0).show().end() + .animate({opacity: to}, speed, callback); }, animate: function( prop, speed, easing, callback ) { @@ -285,7 +286,7 @@ jQuery.fx.prototype = { t.elem = this.elem; - if ( t() && jQuery.timers.push(t) == 1 ) { + if ( t() && jQuery.timers.push(t) && !timerId ) { timerId = setInterval(function(){ var timers = jQuery.timers; @@ -295,6 +296,7 @@ jQuery.fx.prototype = { if ( !timers.length ) { clearInterval( timerId ); + timerId = undefined; } }, 13); }