停止slideUp后,JQuery slideDown无法正常工作

时间:2013-08-22 14:35:45

标签: jquery

我的设置非常简单:

HTML:

<p>
    test
</p>

JS:

$('p').slideUp(2000);

// later, while still sliding up
$('p').stop().slideDown();

不是停止slideUp动作并开始向下滑动,而是停止并且没有任何反应。当反转问题(停止slideDown并执行slideUp)时,一切都按预期工作!

我使用jQuery 1.9.1测试了最新版本的Firefox和Chromium。

JS-Fiddle

这是一个错误吗?如果没有,我做错了什么?

3 个答案:

答案 0 :(得分:1)

尝试添加true,true检查更新的小提琴。

http://jsfiddle.net/rFHUx/2/

答案 1 :(得分:1)

这是一个CSS高度问题。相反,设置明确的高度并自己调用.animate()

var p = $('p'), h = p.height();
p.animate({ height: 0}, 1100);
setTimeout(function(){
    p.stop().animate({ height: h});
}, 1000);

<强> Updated fiddle

答案 2 :(得分:0)

// 1. Solution

function loop() {
 $('p').slideUp(1000,function(){
  $('p').slideDown(1000,function(){
   loop();
  });
 });       
}
loop();

http://jsfiddle.net/Aveendra/bkFDm/在这里摆弄

OR

// 2. Solution
$('p').slideUp(1000).delay(500).slideDown(1000);

http://jsfiddle.net/Aveendra/EcDQd/在这里摆弄