淡出div

时间:2012-03-02 18:29:49

标签: javascript jquery html css

我试图让一个div消失然后淡出效果,但淡出瞬间消失然后淡入效果完美。它就像淡入效果立即中断淡出

JS

$('#fillBg').stop(true,false).fadeTo(3000, 0);
$("#fillBg").hide().attr('src', bgImage).stop(false,false).fadeTo(1500, 1.0);

6 个答案:

答案 0 :(得分:2)

您需要将第一个fadeTo动画之后应该发生的任何内容添加到回调函数中:

 $('#fillBg').stop(false,false).fadeTo(3000, 0, function() {
    $(this).hide().attr('src', bgImage).stop(false,false).fadeTo(1500, 1.0);
 });

答案 1 :(得分:1)

问题在于第二个.stop。呼叫停止正在停止第二个fadeTo动画。

答案 2 :(得分:0)

$('#fillBg').fadeOut(3000, function(){
    $("#fillBg").attr('src', bgImage).fadeIn(1500);
});

确保在淡出完成后运行fadeIn。

答案 3 :(得分:0)

尝试

​$("#fillBg").fadeOut().fadeIn();​

http://jsfiddle.net/g334J/

答案 4 :(得分:0)

您可以像这样使用fadeTo方法的回调

//Cache the value, for performance
var divToHide = $('#fillBg');

divToHide.stop(false,false).fadeTo(3000, 0, function() {
     divToHide.hide().attr('src', bgImage).stop(false,false).fadeTo(1500, 1.0);
});

或使用fadeInfadeOut

//Cache the value, for performance
var divToHide = $('#fillBg');

divToHide.fadeOut(3000, function() {
     divToHide.hide().attr('src', bgImage).fadeIn(1500);
});

答案 5 :(得分:0)

$('#fillBg').stop(true,false).fadeTo(3000, 0, backIn);
function backIn()
{
    $("#fillBg").fadeTo(1500, 1.0);
}

http://jsfiddle.net/4CnjB/