2013-12-20 162 views

回答

1

使用淡出的完整的回調,這樣的下一個項目淡入另一個已經淡出之後。您看到的行爲的原因是由於淡入淡出功能的異步性質。使用您的代碼片斷,它將啓動fadeoutfadeIn,而不會完成先前的動畫。

var $slideContainer = $("#aboutslideshow"); 
$slideContainer.children("div:gt(0)").hide(); 

setInterval(function() { 
    $slideContainer.children('div:first') 
     .fadeOut(1000, function() { 
     $(this).next() 
      .fadeIn(1000) 
      .end() 
      .appendTo($slideContainer); 
    }) 

}, 4200); 

Demo

+0

謝謝!非常感激。奇怪的是,它會執行這樣的 - 只有專業人士會知道! – rootsup

+0

@rootsup歡迎您。問題在於fadout被推送到動畫隊列並開始,並且fadein立即被推送到隊列中,並且它也被啓動。相反,您可以等待淡出動畫完成。 – PSL