From de75b40835ecb82360321dafbd87d66db5404a4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Scott=20Gonz=C3=A1lez?= Date: Mon, 2 Mar 2015 18:43:07 -0500 Subject: [PATCH] Accordion: Handle `box-sizing: border-box` in animations Fixes #9264 Closes gh-1287 Closes gh-1459 (cherry picked from commit 4b017b414f107ed3c1dafc7601b61cbcd76acf61) --- ui/accordion.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ui/accordion.js b/ui/accordion.js index 46f7e8509..98c8412cc 100644 --- a/ui/accordion.js +++ b/ui/accordion.js @@ -516,6 +516,7 @@ return $.widget( "ui.accordion", { var total, easing, duration, that = this, adjust = 0, + boxSizing = toShow.css( "box-sizing" ), down = toShow.length && ( !toHide.length || ( toShow.index() < toHide.index() ) ), animate = this.options.animate || {}, @@ -558,7 +559,9 @@ return $.widget( "ui.accordion", { step: function( now, fx ) { fx.now = Math.round( now ); if ( fx.prop !== "height" ) { - adjust += fx.now; + if ( boxSizing === "content-box" ) { + adjust += fx.now; + } } else if ( that.options.heightStyle !== "content" ) { fx.now = Math.round( total - toHide.outerHeight() - adjust ); adjust = 0;