Skip to content

Commit

Permalink
Overflow revert was completely borked when you animated multiple prop…
Browse files Browse the repository at this point in the history
…erties (like in .show() or .hide()) (see bug #1343).
  • Loading branch information
jeresig committed Jul 5, 2007
1 parent 6f064fc commit 12ebfa3
Showing 1 changed file with 16 additions and 13 deletions.
29 changes: 16 additions & 13 deletions src/fx/fx.js
Expand Up @@ -315,10 +315,22 @@ jQuery.fn.extend({
opt = jQuery.speed(speed, easing, callback),
self = this;

for ( var p in prop )
for ( var p in prop ) {
if ( prop[p] == "hide" && hidden || prop[p] == "show" && !hidden )
return jQuery.isFunction(opt.complete) && opt.complete.apply(this);

if ( p == "height" || p == "width" ) {
// Store display property
opt.display = jQuery.css(this, "display");

// Make sure that nothing sneaks out
opt.overflow = this.style.overflow;
}
}

if ( opt.overflow != null )
this.style.overflow = "hidden";

this.curAnim = jQuery.extend({}, prop);

jQuery.each( prop, function(name, val){
Expand Down Expand Up @@ -422,15 +434,6 @@ jQuery.extend({
// The styles
var y = elem.style;

if ( prop == "height" || prop == "width" ) {
// Store display property
var oldDisplay = jQuery.css(elem, "display");

// Make sure that nothing sneaks out
var oldOverflow = y.overflow;
y.overflow = "hidden";
}

// Simple function for setting a style value
z.a = function(){
if ( options.step )
Expand Down Expand Up @@ -529,12 +532,12 @@ jQuery.extend({
done = false;

if ( done ) {
if ( oldDisplay != null ) {
if ( options.display != null ) {
// Reset the overflow
y.overflow = oldOverflow;
y.overflow = options.overflow;

// Reset the display
y.display = oldDisplay;
y.display = options.display;
if ( jQuery.css(elem, "display") == "none" )
y.display = "block";
}
Expand Down

0 comments on commit 12ebfa3

Please sign in to comment.