我在slideDown上遇到问题。元素没有整齐地向下滑动,而是开始“摇动”,然后立即显示而没有动画。另一方面,SlideUp可以正常工作。
我做了一个jsFiddle:http://jsfiddle.net/4x4PK/1/
当您单击+
按钮时,会出现此问题。 ×
按钮可以正常工作。
有一些JS插件,有问题的on.('click' ...)
代码一直在底部。
最佳答案
好的,好像我找到了解决方案。问题是我认为slideDown函数需要在动画开始之前知道元素的高度(才能知道动画的终点)。
当我使用after()添加元素时,现在说它的高度还为时过早。
该元素必须已经插入,否则它的高度为零。
元素必须不可见
最后,我找到了这个可行的解决方案:
$(this).closest('.smoking-rate').after( $el );
$el.hide().slideDown()
有人可以确认,高度是它无效的原因吗?