2017-09-07 50 views
2

假設我有一系列淡入/淡出的div(#scene1,#scene2,#scene3等),一個接一個地在一個函數中,有沒有方式如何我可以點擊按鈕來暫停這些淡入淡出,然後再次恢復它們?暫停/恢復一系列淡入淡出

fooBar() { 
    $("#scene1").fadeIn(500, function() {  
    $("#scene1").delay(5000).fadeOut(500, function() {   
     $("#scene2").delay(1000).fadeIn(500, function() {    
     $("#scene2").delay(5000).fadeOut(500, function() {  
      $("#scene3").delay(5000).fadeIn(500, function() {  
      }); 
     }); 
     }); 
    }); 
    }); 
} 

所以,基本上,點擊一個按鈕在#scene2 /#scene3之間暫停,然後另一個按鈕恢復?可能有三個以上的場景,暫停/恢復可能在任何時候發生。謝謝。

+0

對SO的快速搜索顯示了許多類似的問題,但他們都推薦使用第三方插件。例如︰https://stackoverflow.com/questions/3970835/pause-resume-jquery-animate?rq=1 –

+0

@ freedomn -m我以爲只有當我使用.animate - 他們仍然會與.fadeIn/。消退? – Martin

+0

@Martin fadeIn/fadeOut是僞裝的動畫調用。嘗試打開你的控制檯並輸入'jQuery()。fadeOut',你會得到:'(a,c,d){return this.animate(b,a,c,d)}' – NicoSantangelo

回答

2

按@nicoSantangelo和@ freedomn米以上的意見,我的答案是使用一個暫停插件:pause/resume jquery .animate()?

我不知道.fadeIn/.fadeOut方法採用變相的動畫調用。