2016-04-26 71 views
0

我需要在3秒內fadeIn,但這不適用於部分功能顏色()。 這是做這件事的最好方法是什麼?如何創建多個回調?

$("button").click(function(){ 
    $("p").hide("slow", function(){ 
     alert("The paragraph is now hidden"); 
     color(); 
    }); 

    function color(){ 
    $("p").css('color','red').fadeIn('3000'); 
    color2(); 
    } 

    function color2(){ 
    $("p").animate({'margin-top':'100px'}); 
    } 
}); 
+0

它能夠更好地在可變高速緩存(「P」),如果你會使用一次以上。 – 2016-04-26 01:27:29

+0

另外你的保證金頂部應該寫成駝峯案例marginTop。 – 2016-04-26 01:41:09

回答

0

嘗試這一個

var p = $('p'); 

$('button').on('click', function() { 

    p.each(function() { 

     $(this).hide('slow', function() { 

      $(this).css('color', 'red').fadeIn('slow', function() { 

       $(this).animate({ 
        marginTop: '100px' 

       }); 
      }); 
     }); 
    }); 
}); 
0

爲什麼不在函數中編碼它們?

$("button").click(function(){ 
    $("p").hide("slow", function(){ 
     alert("The paragraph is now hidden"); 
     $("p").css('color','red').fadeIn('3000'); 
     $("p").animate({'margin-top':'100px'}); 
    }); 
}); 
0

的問題是,淡入接受整輸入,而不是一些字符串。從參數中刪除引號。 (「p」)。css('color','red')。fadeIn(3000);

字符串作爲參數,以淡入提供的應該是一個預定義值,如「慢」

http://api.jquery.com/fadein/

+0

謝謝!我解決了它 –