看看这个jsfiddlehttp://jsfiddle.net/zB2Td/5/
虽然在更改尺寸后添加了.animate
类,但动画会被触发。如果取消对结束转换的第二行的注释,它将不会按应有的方式开始。为什么这个代码是这样工作的?添加.animate
而不触发先前更改的转换的正确方法是什么。谢谢
据我所知,对box.width()
的调用被视为"读取"操作,正如本文所定义的那样。它强制浏览器(无论如何都是webkit)重新布局(也就是回流)DOM。如果没有这个调用,浏览器永远不会"知道"在添加.animate
之前盒子是200x200,并且它假设盒子是在100x100开始的。