Ticket #4872 (closed bug: invalid)
Animate function and flash move in Firefox
| Reported by: | Nyro | Owned by: | Nyro |
|---|---|---|---|
| Priority: | low | Milestone: | 1.next |
| Component: | effects | Version: | 1.5.2 |
| Keywords: | flash overflow | Cc: | |
| Blocking: | Blocked by: | #8903 |
Description
While animating an element by setting new width or height which contains a flash movie, this flash movie is reloaded. This occurs only in Firefox.
I tested it with IE8, Safari4, Chrome 2 and Opera 9 all on Vista.
After a quick investigation, it looks like it's coming from these lines:
if ( opt.overflow != null ) this.style.overflow = "hidden";
I simply removed them to test and the problem doesn't occur anymore.
Change History
comment:2 Changed 4 years ago by mickyhulse
I love jquery, but this bug has been a tough one to swallow.
For now, I will minimize an altered version with changes stated in Nyro's post.
It would be great to see this fixed. :)
comment:3 Changed 4 years ago by mickyhulse
I just tested the fix on my latest project, and it works perfectly in via OS X 10.5.8 in these mac browsers:
Firefox 3.5.3 (was not working before) Safari 4.0.3 Opera 10.00 build 6652
Vista OS:
Firefox 3.5.3 Firefox 3.0.11 IE 7.0.60002.18005 IE 8.0.6001.18813
comment:4 Changed 4 years ago by Nyro
Does anybody of the jQuery team looked at this bug? Will it be solved in the next release?
comment:5 Changed 4 years ago by mickyhulse
Hi!
I have done several more tests and, from what I can tell, it looks like IE8 is the browser that needs the overflow set...
Not sure why I did not notice it before, but when I removed the overflow from the jQuery source, the animation in IE8 was not working smoothly (if at all)...
My fix:
I reverted back to an un-altered version of jQuery and then added this to my CSS:
#billboard { overflow: auto !important; }
Now FF is happy and IE8 is too!!!
You could even use IE conditional comment to feed IE8 an overflow of hidden.
Anyway, I tested in the latest versions of these browsers:
OS X: Safari, Opera, Firefox Vista: Safari, IE7, IE8, Firefox XP: IE6 (via VPC emulator)
Not sure if this fix will help others, but I like this solution much better than modifying the jQuery source. :)
comment:6 Changed 4 years ago by kcoop
That's a good workaround, thanks. It saves me having to maintain a hacked copy of jquery.
But this is still a bug. In addition to the flash problem, it also creates blinky scrollbars if auto has already been specified.
You can't just remove those lines, since they help keep content clipped for generic animations. But you can easily test for whether the element has overflow already specified:
if ( opt.overflow != null && !/hidden|auto/.test($(this).css('overflow')))
this.style.overflow = "hidden";
There's probably a more efficient way to get that css...
comment:9 Changed 3 years ago by SlexAxton
- Keywords flash overflow added
- Priority changed from major to low
- Status changed from new to open
- Milestone changed from 1.4 to 1.5
Keeping open, would love someone to provide a patch on github for this one.
comment:10 Changed 2 years ago by anonymous
Same problem ! same fix ? I've just add an overflow css rule applying to to the animated tag.
#youranimatedtag {
overflow: hidden;
}
It works !
comment:12 Changed 2 years ago by timmywil
- Version changed from 1.3.2 to 1.5.2
- Milestone set to 1.next
comment:14 Changed 2 years ago by giovannipds
How I fix it on my project:
JavaScript:
$(document).ready(function() {
$.noData = {};
});
Cascading Style Sheets:
#the-flash-tag {
display: inline-block;
overflow: hidden;
}
comment:15 Changed 2 years ago by timmywil
- Blocking 8903 removed
- Blocked by 8903 added
(In #8903) This has to do with the marginRight hook.
comment:16 Changed 23 months ago by dmethvin
- Owner set to Nyro
- Status changed from open to pending
- Blocking 8880, 8903 removed
It sounds like we can't fix this inside jQuery in a reasonable way. The first step would be that we need a test case. Can someone provide one?
comment:17 Changed 22 months ago by trac-o-bot
- Status changed from pending to closed
- Resolution set to invalid
Because we get so many tickets, we often need to return them to the initial reporter for more information. If that person does not reply within 14 days, the ticket will automatically be closed, and that has happened in this case. If you still are interested in pursuing this issue, feel free to add a comment with the requested information and we will be happy to reopen the ticket if it is still valid. Thanks!
comment:18 Changed 21 months ago by retio
Flash will overlay any HTML content by default, but this can be prevented by setting the 'wmode' param and embed attributes to 'transparent'.
<param name="wmode" value="transparent" />
Fix my problem.
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

Possibly duplicate of #4628 :) Yeah, it break and restarts flash every time, on firefox, when animating. It's the same all since 1.2.x or even before that.
Please fix it already.