jQuery两个顺序动画无法正常工作

时间:2014-05-07 11:07:22

标签: jquery animation

获得此预动画,并在2秒后弹出警报。这有效:

$('.tableContent').find('.turnEditPanel').animate({'height': 36}, 300).delay(1000).queue(function() {                   
   alert("HI");
 });

现在,当我通过其他动画更改警报时,影响同一个div以恢复动画,似乎它无法识别它或s.thing,因为没有任何反应..:

$('.tableContent').find('.turnEditPanel').animate({'height': 36}, 300).delay(1000).queue(function() {                   
   $('.tableContent').find('.turnEditPanel').animate({'height': 0}, 300);
 });

这与(this)无关:

$('.tableContent').find('.turnEditPanel').animate({'height': 36}, 300).delay(1000).queue(function() {                   
       $(this).animate({'height': 0}, 300);
     });

1 个答案:

答案 0 :(得分:2)

我不确定你为什么要使用.queue,但你可能只是将事件链接起来,或者在第一次调用{{1}时使用complete回调而不是。

使用链接的示例:

.animate()

使用完整回调的示例:

$('.tableContent').find('.turnEditPanel').animate({'height': 36}, 300).delay(1000).animate({'height': 0}, 300);

更新

正如A. Wolff在评论中提到的那样,$('.tableContent').find('.turnEditPanel').animate({'height': 36}, 300, function() { $(this).delay(1000).animate({'height': 0}, 300); }); alert('HI')中起作用但queue()不起作用,因为在队列回调中调用动画将把它放入动画队列中,但它赢了&# 39;运行直到你调用队列中的下一个项目,例如:

animate()