Ticket #7160 (closed bug: duplicate)
only set overflow in $.fn.animate when the default overflow is visible
| Reported by: | hugodevreugd | Owned by: | |
|---|---|---|---|
| Priority: | low | Milestone: | 1.next |
| Component: | effects | Version: | 1.4.3 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
When you have a hidden div in IE8 with CSS overflow:auto, and a height set in CSS less than the height of the div (so it will get scroll bars when displayed). Then when you use $("#thediv").show(); jQuery 1.4.3.rc1 displays the div correctly with scroll bars, but when you use $("#thediv").show("slow"); jQuery 1.4.3.rc1 displays the div incorrectly without any scroll bars. In 1.4.2 scroll bars are displayed correctly in both cases. Other browser like FireFox or Chrome did display the scroll bars in jQuery 1.4.3.rc1 in both cases.
Change History
comment:1 Changed 3 years ago by snover
- Priority changed from high to low
- Status changed from new to open
- Version changed from 1.4.2 to 1.4.3rc
- Component changed from unfiled to effects
- Summary changed from Bug in show in jQuery 1.4.3.rc1 to only set overflow in $.fn.animate when the default overflow is visible
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

IE8 functions the same as all other modern browsers: the overflow attribute of an element with an animated width or height is set to hidden until after the animation is complete in order to prevent content from overflowing during animations.
In IE6 and IE7, the overflow value remains hidden after the animation is complete because these browsers shrink wrap content in an element with layout. If you are running IE8 in IE7 mode, this is probably what you are experiencing.
We should probably only set overflow when the default overflow is not visible.