jquery delay和setTimeout

时间:2012-03-16 18:10:02

标签: jquery delay settimeout fadein fadeout

我试图阻止跨度的隐藏,而另一个跨越fadein超过它,但延迟和settimeout似乎没有工作,在mouseout上页面闪烁白色之前其他3个图像淡入最佳。延迟是在mouseout功能上。这是fiddle

  $("#top-left").mouseover(function() {
        $("#bottom-left").fadeOut(200);
        $("#bottom-right").fadeOut(200);
        $("#top-right").fadeOut(200);
        $( this ).css( "width","+=400");
        $( this ).css( "height","+=250" );
        $( this ).css( "z-index", "-1");
    });
  $("#top-left").mouseout(function() {
        $("#bottom-left").fadeIn(200);   
        $("#bottom-right").fadeIn(200);
        $("#top-right").fadeIn(200).delay(10000);
        setTimeout(function() {
                $( this ).css( "width","-=400");
                $( this ).css( "height","-=250" );
                $( this ).css( "z-index", "1");
        },400);
    });

谢谢。

1 个答案:

答案 0 :(得分:2)

将最后一部分作为动画的回调:

$("#top-right").fadeIn(200, function() {
  $("#top-left").css( "width","-=400").css( "height","-=250" ).css( "z-index", "1");
});

这种方式在动画完成之前不会执行。