我试图让我的内容动画DIV
首先淡出,然后在这个淡出阶段停止,并且只将淡入排队,以便在.dequeue()
我动态加载内容(可能通过 ajax)后可以调用。
$content.fadeTo(1000,0.0).delay(1000).stop().fadeTo(1000, 1)
我有两个问题-
- 我的淡出立即发生并且不会淡出 1 秒。
- 该
stop()
功能不会停止动画直接运行的任何内容。
我错过了什么?
有几个问题:
$content.fadeTo(1000,0.0)
将在 1 秒内淡出您的 div(.fadeOut(1000)
如果您愿意,可以使用)。
然后,.delay()
daley 会按您提供的毫秒数执行后续动画,所以如果您这样做
$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);
});