jQuery slideDown snap back issue

这个问题得用视频才能演示出来……视频之后更新。

标题用的是stackoverflow上的。

我碰到的情况是,div.to-slide里有float元素。
div.to-slide在触发slideDown()动画后,会先down到超过div本身应该的高度,再反跳回原来的高度。
排查了很久都没找到原因。终于最后在stackoverflow上找到了一篇解释这问题的。
原来这个问题并不限定于内部有float的slidedown元素。float只是其中一种情况。
在div.to-slide没有展开情况下,jquery算出的高度有误,所以才会出现高度差反跳。

触发这个bug的原因很多,比如:无宽度,自适应或继承父元素宽度(我的问题就是这个)。

详见 slidedown animation jump revisited