Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么时候';jqueryslidedown工作,但slideUp工作?_Javascript_Jquery_Animation_Dhtml_Slidedown - Fatal编程技术网

Javascript 什么时候';jqueryslidedown工作,但slideUp工作?

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'); });

我有滑落的问题。元素不是整齐地向下滑动,而是开始“抖动”,然后在没有动画的情况下直接出现。另一方面,SlideUp工作完美无瑕

我做了一个jsFiddle:

单击
+
按钮时会出现问题<代码>×按钮工作正常


有一些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,反正没有问题。只是有同样的问题,正确的做法是,当你尝试为隐藏的东西设置动画,或者在动画完成之前没有设置高度,它不知道如何设置动画,因此根本不设置动画!