X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Ffx.js;h=c949bdc6a956cb33c35d7a9f08bc9cc9b94a781a;hb=1c5db3babaf32f6faa7e9e867990110c9713f64b;hp=39456e0317f79c652f3f87d56d44e1bb6b034c79;hpb=34a9f8a210cfa0aabccc40a974646127d1871d1a;p=jquery.git diff --git a/src/fx.js b/src/fx.js index 39456e0..c949bdc 100644 --- a/src/fx.js +++ b/src/fx.js @@ -44,9 +44,15 @@ jQuery.fn.extend({ elemdisplay[ tagName ] = display; } - this[i].style.display = jQuery.data(this[i], "olddisplay", display); + 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") || ""; + } return this; } @@ -60,8 +66,14 @@ jQuery.fn.extend({ var old = jQuery.data(this[i], "olddisplay"); if ( !old && old !== "none" ) jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "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 = "none"; } + return this; } }, @@ -273,7 +285,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; @@ -283,6 +295,7 @@ jQuery.fx.prototype = { if ( !timers.length ) { clearInterval( timerId ); + timerId = undefined; } }, 13); }