Commit 12ebfa3b authored by John Resig's avatar John Resig

Overflow revert was completely borked when you animated multiple properties...

Overflow revert was completely borked when you animated multiple properties (like in .show() or .hide()) (see bug #1343).
parent 6f064fc9
......@@ -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){
......@@ -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 )
......@@ -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";
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment