0

我的设置非常简单:

HTML:

<p>
    test
</p>

JS:

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

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

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

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

JS-小提琴

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

4

3 回答 3

1

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

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

于 2013-08-22T14:38:02.053 回答
1

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

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

更新的小提琴

于 2013-08-22T14:42:35.657 回答
0
// 1. Solution

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

http://jsfiddle.net/Aveendra/bkFDm/小提琴在这里

或者

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

http://jsfiddle.net/Aveendra/EcDQd/小提琴在这里

于 2013-08-22T14:55:18.063 回答