获得此预动画,并在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);
});
答案 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()