我正在尝试将我的内容DIV
的动画首先淡出,然后停止在此淡出阶段,并将淡入淡出,以便稍后可以调用.dequeue()
动态加载内容(可能通过ajax)。
$content.fadeTo(1000,0.0).delay(1000).stop().fadeTo(1000, 1)
我有两个问题 -
stop()
函数不会停止动画直接运行的任何内容。我缺少什么?
答案 0 :(得分:0)
有几个问题:
$content.fadeTo(1000,0.0)
将在1秒后淡出您的div(如果您愿意,可以使用.fadeOut(1000)
。)
然后,.delay()
所做的就是以你提供的毫秒为单位执行subsecuent动画,所以如果你做了
$content.fadeOut(1000).delay(300).fadeIn();
它会在持续1秒的动画中淡出div,等待300毫秒,然后将div淡出。
到目前为止一切顺利,但.stop()
所做的是停止匹配元素中的动画,因此fadeTo
将不会运行,它不会排队。然后,当您执行.fadeTo(1000, 1)
(相当于.fadeIn(1000)
)时,div已经可见,因此它什么都不做。
我建议你这样做:
$content.fadeOut(1000);
//Later in the code
$.ajax({
//...
success: function() {
//code..
$content.fadeIn(1000);
});