Side navigation
#11635 closed bug (fixed)
Opened April 24, 2012 02:53PM UTC
Closed October 16, 2012 04:31PM UTC
Last modified December 29, 2012 04:25AM UTC
Explicit overflow:auto is overridden by inline overflow:hidden during animation
Reported by: | yonjah@gmail.com | Owned by: | petro |
---|---|---|---|
Priority: | high | Milestone: | 1.next |
Component: | effects | Version: | 1.8.2 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
This might be two bugs or one (I'm not really sure).
jQuery will use the following method (line 1612) ->
// Check if elements with layout shrink-wrap their children // (IE 6 does this) div.style.display = "block"; div.style.overflow = "visible"; div.innerHTML = "<div style='width:5px;'></div>"; support.shrinkWrapBlocks = ( div.offsetWidth !== 3 );
unfortunately this will fail on new browsers if document style settings will set all elements to use "box-sizing:border-box"
( I only tested it in chrome 18 but will probably repeat it self with any border-box supported browsers)
I wouldn't have noticed this issue if jQuery animation wouldn't set my animated elements overflow to hidden and but then fail to remove them when animation ends (line 8892) ->
if ( options.overflow != null && !jQuery.support.shrinkWrapBlocks ) { jQuery.each( [ "", "X", "Y" ], function( index, value ) { elem.style[ "overflow" + value ] = options.overflow[ index ]; }); }
I don't know what the original IE6 bug was that this flag tried to solve, but this seems to be the only place that it's used.
and it would seem wierd that this is a desired action even on IE6 (chnaging original overflow settings and not restoring them when animation ends).
Yoni.
Attachments (0)
Change History (19)
Changed April 24, 2012 03:17PM UTC by comment:1
component: | unfiled → effects |
---|---|
owner: | → yonjah@gmail.com |
priority: | undecided → low |
status: | new → pending |
Changed April 24, 2012 03:31PM UTC by comment:2
this is resolved in jQuery 1.8
Changed April 24, 2012 03:46PM UTC by comment:3
resolution: | → fixed |
---|---|
status: | pending → closed |
Changed April 24, 2012 03:49PM UTC by comment:4
Fiddle test code ->
(this is using JQuery edge so I'm not sure if this is really resolved in 1.8)
Changed April 24, 2012 04:41PM UTC by comment:5
milestone: | None → 1.8 |
---|---|
priority: | low → high |
resolution: | fixed |
status: | closed → reopened |
Confirmed. Further reduced:
Changed April 24, 2012 04:44PM UTC by comment:6
summary: | Bad layout shrink-wrap detection / JQuery will not remove overflow:hidden from animated elements → Explicit overflow:auto is overridden by inline overflow:hidden during animation |
---|
Updating title to make sense
Changed April 24, 2012 05:20PM UTC by comment:7
rwaldron: jQuery edge is master, not 1.8pre.
Changed April 24, 2012 05:28PM UTC by comment:8
resolution: | → fixed |
---|---|
status: | reopened → closed |
Thanks scott. I tested this with 1.8pre http://jsfiddle.net/rwaldron/aXAE8/ and there is no longer an issue
Changed April 24, 2012 06:09PM UTC by comment:9
_comment0: | YOUR WELCOME → 1335291320346477 |
---|
YOU'RE WELCOME
Changed April 24, 2012 07:27PM UTC by comment:10
you're* :P
Changed September 02, 2012 03:40PM UTC by comment:11
just updated jQuery to v1.8.1
and this issue is still happening
Changed October 15, 2012 05:24PM UTC by comment:12
milestone: | 1.8 |
---|---|
resolution: | fixed |
status: | closed → reopened |
Changed October 15, 2012 05:25PM UTC by comment:13
milestone: | → 1.next |
---|---|
status: | reopened → open |
version: | 1.7.2 → 1.8.2 |
Changed October 15, 2012 05:25PM UTC by comment:14
overflow: hidden is left there.
Changed October 15, 2012 05:26PM UTC by comment:15
#12456 is a duplicate of this ticket.
Changed October 15, 2012 08:28PM UTC by comment:16
owner: | yonjah@gmail.com → petro |
---|---|
status: | open → assigned |
Changed October 15, 2012 08:50PM UTC by comment:17
Updated test case:
Changed October 16, 2012 04:31PM UTC by comment:18
resolution: | → fixed |
---|---|
status: | assigned → closed |
Fixes #11635, Explicit overflow:auto is overridden by inline overflow:hidden during animation, closes gh-981
Changeset: 861476eb3fb5e378fdbb4e86e4737daf6de27f13
Changed December 29, 2012 04:25AM UTC by comment:19
#12630 is a duplicate of this ticket.
Thanks for taking the time to contribute to the jQuery project! Please provide a complete reduced test case on jsFiddle to help us assess your ticket!
Additionally, be sure to test against the "jQuery (edge)" version to ensure the issue still exists. To get you started, use this boilerplate: http://jsfiddle.net/FrKyN/
Open the link and click to "Fork" (in the top menu) to begin.