什么时候jQuery slideDown不起作用但是slideUp呢?

时间:2012-10-18 20:09:11

标签: javascript jquery animation dhtml slidedown

我在使用slideDown时遇到问题。而不是整齐地向下滑动元素开始'摇动'而不是直接显示没有动画。另一方面,SlideUp完美无缺。

我做了一个jsFiddle:http://jsfiddle.net/4x4PK/1/

单击+按钮时出现问题。 ×按钮工作正常。

有一些JS插件,有问题的on.('click' ...)代码一直在底部。

2 个答案:

答案 0 :(得分:3)

好的,好像我找到了解决方案。问题是我认为slideDown函数需要在动画开始之前知道元素的高度(知道动画的端点)。

当我用after()添加元素时,告诉它的高度还为时过早。

  • 元素必须已经插入,否则它的高度为零。
  • 该元素必须不可见

最后我找到了这个有效的解决方案:

$(this).closest('.smoking-rate').after( $el );
$el.hide().slideDown()

有人可以证实,高度是不起作用的原因吗?

答案 1 :(得分:0)

完成幻灯片动画后,您应该调用slideDown:

$el.slideUp(1).slideDown('slow')

应该是

$el.slideUp(1, function(){
  $el.slideDown('slow');
});