2013-07-14 124 views
0

好的,所以我想要在我的網頁上生成足跡動畫。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); 
     }); 
    }); 
}); 

任何幫助將不勝感激!

回答

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); 
     }); 
    }); 
}); 
+0

作品!謝謝。 (我需要延遲,所以我只是把.delay()放在.fadeIn()之前) – eevaa