jQuery:隐藏后的fadeIn()(' slide')

时间:2015-01-27 17:38:17

标签: jquery hide fade

我希望div从视口中滑出,然后在具有不同背景图像的相同位置淡入淡出。这只会滑出来:

$('#myDiv').hide('slide').queue(function() {
    $(this).css({'background-image': 'url(images/picB.png)'});
    $(this).fadeIn();
}

hide('slide')最终会将div设置为display: none;,该位置将恢复到之前的位置。我需要做些什么来完成这项工作?

2 个答案:

答案 0 :(得分:1)

不要忘记.dequeue

当你.queue一个函数时,你必须调用.dequeue来通知jQuery函数已经完成。

您当前的功能是将.fadeIn添加到队列中,但由于您的排队功能永远不会“完成”,因此永远不会调用它。

$('#myDiv').hide('slide').queue(function() {
    $(this).css({'background-image': 'url(images/picB.png)'})
           .fadeIn()
           .dequeue(); //Tell jQuery to do the fade
});

答案 1 :(得分:1)

我认为您正在寻找类似的内容:http://jsfiddle.net/f42dsjb2/

$('#myDiv').hide('slide').queue(function() {   
    $(this).show('slide').css({"background":"red"}).dequeue();
});