回调中的jQuery动画无法正常工作

时间:2013-07-14 12:34:52

标签: jquery

好的,所以我想在我的网页上制作脚印。

我以一只脚褪色,然后另一只脚褪色,然后淡出第一只,淡入第三只,依此类推。然而,在我的第二个嵌套回调(我想淡出第一个足迹)动画函数(我试过.fadeIn()和.animate())将无法工作,而.hide()确实有效。怎么样?

http://jsfiddle.net/YEfJR/9/

以下是代码的简化版本:

HTML

<div id="one">1</div>
<div id="two">2</div>
<div id="three">3</div>

CSS

#one, #two, #three {
    width: 100px; 
    height: 100px; 
    position: fixed; 
    display: none; 
    background: #af0;
}

的jQuery

$("#start").click( function(){ 
    $g1x = 0;
    $g1y = 0;
    $g2x = 100;
    $g2y = 100;

    $("#one").css({"bottom": $g1y+"px", "left": $g1x+"px"}).fadeIn(1000).delay(1000, function() {
        $("#two").css({"bottom": $g2y+"px", "left": $g2x+"px"}).fadeIn(1000).delay(1000, function() {
             $("#one").fadeOut(1000);
        });
    });
});

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

将完整回调作为第二个参数传递给.fadeIn()

$("#start").click( function(){ 
    $g1x = 0;
    $g1y = 0;
    $g2x = 100;
    $g2y = 100;

    $("#one").css({"bottom": $g1y+"px", "left": $g1x+"px"}).fadeIn(1000, function() {
        $("#two").css({"bottom": $g2y+"px", "left": $g2x+"px"}).fadeIn(1000, function() {
             $("#one").fadeOut(1000);
        });
    });
});