我的设置非常简单:
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。
这是一个错误吗?如果没有,我做错了什么?
答案 0 :(得分:1)
尝试添加true,true
检查更新的小提琴。
答案 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);