]> source.dussan.org Git - jquery.git/commitdiff
Fix #12846. Restore overflow when animation is stopped.
authorDave Methvin <dave.methvin@gmail.com>
Sun, 27 Jan 2013 03:02:15 +0000 (22:02 -0500)
committerDave Methvin <dave.methvin@gmail.com>
Sun, 27 Jan 2013 03:02:15 +0000 (22:02 -0500)
src/effects.js
test/unit/effects.js

index e1c11dca5e166af5de9392ab397ed8b1589aa651..764895200a6a1bb40709ab16554e24edae3a9ae0 100644 (file)
@@ -295,7 +295,7 @@ function defaultPrefilter( elem, props, opts ) {
 
        if ( opts.overflow ) {
                style.overflow = "hidden";
-               anim.done(function() {
+               anim.always(function() {
                        style.overflow = opts.overflow[ 0 ];
                        style.overflowX = opts.overflow[ 1 ];
                        style.overflowY = opts.overflow[ 2 ];
index 3f986097e73d7d60ef8e02cdb5259be8ea64d190..8c56581db6b744ff938b70f0b4ae4c8b153b9ceb 100644 (file)
@@ -1758,16 +1758,18 @@ asyncTest("Animation callbacks (#11797)", 15, function() {
        });
 });
 
-test( "Animate properly sets overflow hidden when animating width/height (#12117)", 4, function() {
+test( "Animate properly sets overflow hidden when animating width/height (#12117)", 8, function() {
        jQuery.each( [ "height", "width" ], function( _, prop ) {
                jQuery.each( [ 100, 0 ], function( _, value ) {
-                       var div = jQuery("<div>"),
+                       var div = jQuery("<div>").css( "overflow", "auto" ),
                                props = {};
                        props[ prop ] = value;
                        div.animate( props, 1 );
                        equal( div.css( "overflow" ), "hidden",
                                "overflow: hidden set when animating " + prop + " to " + value );
                        div.stop();
+                       equal( div.css( "overflow" ), "auto",
+                               "overflow: auto restored after animating " + prop + " to " + value );
                });
        });
 });