mirror of
https://github.com/jquery/jquery.git
synced 2025-01-10 18:24:24 +00:00
Fix #11415: Stop non-negative prop undershoot on animation.
This doesn't fix *all* of them (see the ticket for a supposedly complete list) but these were already handy so it was relatively cheap to fix them. If you need others fixed, add a custom step function as was done here. Thanks @scott_gonzalez!
This commit is contained in:
parent
a52391aa1d
commit
56426261f0
5
src/effects.js
vendored
5
src/effects.js
vendored
@ -634,9 +634,8 @@ jQuery.extend( jQuery.fx, {
|
||||
}
|
||||
});
|
||||
|
||||
// Adds width/height step functions
|
||||
// Do not set anything below 0
|
||||
jQuery.each([ "width", "height" ], function( i, prop ) {
|
||||
// Ensure props that can't be negative don't go there on undershoot easing
|
||||
jQuery.each( fxAttrs.concat.apply( [], fxAttrs ), function( i, prop ) {
|
||||
jQuery.fx.step[ prop ] = function( fx ) {
|
||||
jQuery.style( fx.elem, prop, Math.max(0, fx.now) + fx.unit );
|
||||
};
|
||||
|
9
test/unit/effects.js
vendored
9
test/unit/effects.js
vendored
@ -263,6 +263,15 @@ test("animate negative height", function() {
|
||||
});
|
||||
});
|
||||
|
||||
test("animate negative padding", function() {
|
||||
expect(1);
|
||||
stop();
|
||||
jQuery("#foo").animate({ paddingBottom: -100 }, 100, function() {
|
||||
equal( jQuery(this).css("paddingBottom"), "0px", "Verify paddingBottom." );
|
||||
start();
|
||||
});
|
||||
});
|
||||
|
||||
test("animate block as inline width/height", function() {
|
||||
expect(3);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user