Accordion: Attempt at improving animation.#587
Closed
scottgonzalez wants to merge 11 commits intomasterfrom
Closed
Accordion: Attempt at improving animation.#587scottgonzalez wants to merge 11 commits intomasterfrom
scottgonzalez wants to merge 11 commits intomasterfrom
Conversation
Conflicts: ui/jquery.ui.accordion.js
Conflicts: ui/jquery.ui.accordion.js
…accordion for non-content heightStyle to improve animation in Firefox.
ui/jquery.ui.accordion.js
Outdated
Member
Author
|
Landed in 3d9f6b5 :-) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is an attempt at fixing #4178.
The logic is to use core as much as possible, then override the animation of the height of the panel being shown. Most browsers don't support fractional pixels, and even browsers that do support fractions can't handle the level of precision that we get during an animation. This causes the combined height of the panel being shown and the panel being hidden to jump around a bit during the animation. We try to deal with that by recalculating the total height at each step of the animation and adjusting the height of the panel being shown to account for any pixels that were lost or gained by the browser not being able to handle the exact values that were calculated by
.animate().This works great in Chrome and Opera. It's ok in IE and not so great in Firefox. However, this is better than what we have now in all browsers.
This code should not e committed as is.
$.fx.step._heightand the data key should probably be prefixed for accordion, there are var statements in the middle of functions, etc. This pull is just to keep notes around and hopefully provide a good starting point for a final solution.