1

我有两个div。一种背景为黑色,一种为紫色。我使用 jquery 淡出黑色 div 并淡入紫色。然而,似乎两者都试图同时发生。

我的问题是如何让紫色 div 在紫色 div 完全淡出之后淡入。我听说过队列方法,但我不清楚如何使用它。

$("div.black").fadeOut();
$("div.purple").fadeIn().queue(); // <-- purple div still trys to fade in
// while black div is fading out.  
// I need the purple div to wait 
// until that black div has completely faded out.
4

4 回答 4

10

像这样

$("div.black").fadeOut(function(){
    $("div.purple").fadeIn();
});
于 2013-10-14T16:47:56.223 回答
3

使用回调试试这个

$("div.black").fadeOut(400,function(){
    $("div.purple").fadeIn().queue();
});
于 2013-10-14T16:48:34.807 回答
2

fadeIn / fadeOut 将回调函数作为其参数之一。该函数在动画完成后立即执行:

$(".black").fadeOut(function() {
    // this will run once the fadeOut animation is complete
    $(".purple").fadeIn();
});

小提琴:http: //jsfiddle.net/fAbBn/

于 2013-10-14T16:52:20.577 回答
0

您可以考虑使用 setTimeout,它需要一个函数和一个以毫秒为单位的等待时间。我认为这样的事情应该有效:

$("div.black").fadeOut(500);
setTimeout(function() {
    $("div.purple").fadeIn()
}, 600)
于 2013-10-14T16:50:43.340 回答