Update $.fn.animate to restore overflow-x and overflow-y separately. Fixes #7111.

This commit is contained in:
Colin Snover 2010-10-05 13:32:07 -05:00
parent 0cdcef5b36
commit 69e4f2535b

9
src/effects.js vendored
View File

@ -133,7 +133,10 @@ jQuery.fn.extend({
if ( ( p === "height" || p === "width" ) ) { if ( ( p === "height" || p === "width" ) ) {
// Make sure that nothing sneaks out // Make sure that nothing sneaks out
opt.overflow = this.style.overflow; // Record all 3 overflow attributes because IE does not
// change the overflow attribute when overflowX and
// overflowY are set to the same value
opt.overflow = [ this.style.overflow, this.style.overflowX, this.style.overflowY ];
// Set display property to inline-block for height/width // Set display property to inline-block for height/width
// animations on inline elements that are having width/height // animations on inline elements that are having width/height
@ -400,7 +403,9 @@ jQuery.fx.prototype = {
if ( done ) { if ( done ) {
// Reset the overflow // Reset the overflow
if ( this.options.overflow != null ) { if ( this.options.overflow != null ) {
this.elem.style.overflow = this.options.overflow; this.elem.style.overflow = this.options.overflow[0];
this.elem.style.overflowX = this.options.overflow[1];
this.elem.style.overflowY = this.options.overflow[2];
} }
// Hide the element if the "hide" operation was done // Hide the element if the "hide" operation was done