Javascript 什么时候';jqueryslidedown工作,但slideUp工作?
我有滑落的问题。元素不是整齐地向下滑动,而是开始“抖动”,然后在没有动画的情况下直接出现。另一方面,SlideUp工作完美无瑕 我做了一个jsFiddle: 单击Javascript 什么时候';jqueryslidedown工作,但slideUp工作?,javascript,jquery,animation,dhtml,slidedown,Javascript,Jquery,Animation,Dhtml,Slidedown,我有滑落的问题。元素不是整齐地向下滑动,而是开始“抖动”,然后在没有动画的情况下直接出现。另一方面,SlideUp工作完美无瑕 我做了一个jsFiddle: 单击+按钮时会出现问题×按钮工作正常 有一些JS插件,上面的('click'…)相关代码位于底部。您应该在slideUp动画完成后调用slideDown: $el.slideUp(1).slideDown('slow') 应该是 $el.slideUp(1, function(){ $el.slideDown('slow'); });
+
按钮时会出现问题<代码>×按钮工作正常
有一些JS插件,上面的
('click'…)
相关代码位于底部。您应该在slideUp动画完成后调用slideDown:
$el.slideUp(1).slideDown('slow')
应该是
$el.slideUp(1, function(){
$el.slideDown('slow');
});
好吧,看来我找到了解决办法。问题是我认为slideDown函数需要在动画开始之前知道元素的高度(知道动画的端点) 当我用after()添加元素时,很快就知道它的高度了
- 元素必须已经插入,否则其高度为零
- 元素不能已经可见
$(this).closest('.smoking-rate').after( $el );
$el.hide().slideDown()
有人能确认一下,高度是它不起作用的原因吗?我在某个地方看到了幻灯片(1)。我试过你的代码。它有点工作,但slideUp会使元素在动画之前闪烁,它只在after()函数之外工作。我很肯定你可以链接slideUp和Down,反正没有问题。只是有同样的问题,正确的做法是,当你尝试为隐藏的东西设置动画,或者在动画完成之前没有设置高度,它不知道如何设置动画,因此根本不设置动画!