ded / morpheus

A Brilliant Animator
504 stars 57 forks source link

Possible bug with animate and Chrome (or I'm being stupid)? (with JSFiddle test case) #47

Open sauy7 opened 11 years ago

sauy7 commented 11 years ago

I have extracted code from my actual implementation to create this JSFiddle to illustrate the problem: http://jsfiddle.net/sauy7/MEGu6/14/ It's a little messy but hopefully understandable enough.

When I run this fiddle in Firefox 17.0.1 and Safari 6.0.2 on Mac 10.7.5 (and the actual implementation in IE9 on Win7) the code runs as expected (a widget containing a simple form is animated (height tweened) to be displayed at the top of the result frame). In Chrome 24.0.1312.57 on OS X the widget is not shown.

This may be an issue with my implementation because the closedContent element (see line 124 of the js) is 0px high on page load, even though I'm calling animate to height: 0, then when that animation is complete, it should trigger the animation of the openContent (the widget) changing it's height form 0 to 111px.

I experimented by adding a conditional to see if the initial animation from 0 to 0 was the cause as the complete function is never triggered. I've commented out this experiment in the fiddle (see lines 118 - 123 and 135). However, when this code is uncommented the animation of widget begins but just "bounces" non-stop (i.e., it animates the height of the widget from 0 to 111px and back again repeatedly).

I'm ran "ender refresh" so I guess I have the latest code.

Please let me know if you need more info.

zachwise commented 11 years ago

I'm having a similar issue with the latest WebKit builds. The animation ends up looping and complete is never fired. Works fine in Safari, Chrome etc.

ded commented 11 years ago

i suppose if it is blowing up in webkit but fine in Chrome and Safari, it's likely a regression the webkit folks know about and will likely patch before it's bumped to a major version

ded commented 11 years ago

i can't even see anything on the page after hitting the run button

sauy7 commented 11 years ago

It's 6 months since I created the JSFiddle test case when Chrome was at version 24, I'm now running 28.0.1500.95 and I still don't see the widget. The test case works in Firefox v21. I've not retested in the latest versions of other browsers.