From: Corey Frang Date: Fri, 20 Jul 2012 23:36:55 +0000 (-0500) Subject: Fix the logic to set overflow:hidden on width & height animations - Fixes #12117... X-Git-Tag: 1.8rc1~36 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=94924a05dec8513f285411491702900bb741713e;p=jquery.git Fix the logic to set overflow:hidden on width & height animations - Fixes #12117 - Closes gh-869 --- diff --git a/src/effects.js b/src/effects.js index f28ef9418..22e79f1ba 100644 --- a/src/effects.js +++ b/src/effects.js @@ -269,7 +269,7 @@ function defaultPrefilter( elem, props, opts ) { } // height/width overflow pass - if ( elem.nodeType === 1 && ( props.height || props.width ) ) { + if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { // Make sure that nothing sneaks out // Record all 3 overflow attributes because IE does not // change the overflow attribute when overflowX and diff --git a/test/unit/effects.js b/test/unit/effects.js index fc9c9cc7b..17ba1c21a 100644 --- a/test/unit/effects.js +++ b/test/unit/effects.js @@ -1785,4 +1785,18 @@ asyncTest("Animation callbacks (#11797)", 15, function() { }); }); +test( "Animate properly sets overflow hidden when animating width/height (#12117)", 4, function() { + jQuery.each( [ "height", "width" ], function( _, prop ) { + jQuery.each( [ 100, 0 ], function( _, value ) { + var div = jQuery("
"), + props = {}; + props[ prop ] = value; + div.animate( props, 1 ); + equal( div.css( "overflow" ), "hidden", + "overflow: hidden set when animating " + prop + " to " + value ); + div.stop(); + }); + }); +}); + } // if ( jQuery.fx )