2012-02-04 88 views
0

我有每5000毫秒更換一次的圖像,我想把字幕放在它們上面。我有這個:如何循環播放動畫?

function showEl1(){ 
     $('#wrap').animate({ 
       left: '-450', 
      }, 500, function() { 
       $('#wrap').html($('#el1').html()); 
      }).animate({ left: '70',}, 500); 
     setTimeout(showEl2, 5000); 
    } 

    function showEl2(){ 
     $('#wrap').animate({ 
       left: '-450', 
      }, 500, function() { 
       $('#wrap').html($('#el2').html()); 
      }).animate({ left: '70',}, 500); 
     setTimeout(showEl3, 5000); 
    } 

    function showEl3(){ 
     $('#wrap').animate({ 
       left: '-450', 
      }, 500, function() { 
       $('#wrap').html($('#el3').html()); 
      }).animate({ left: '70',}, 500); 
     setTimeout(showEl1, 5000); 
    } 

    $(document).ready(function(){ 
     showEl1(); 
    } 

它的工作原理,但...我想稍微隱藏字幕,稍等片刻,然後顯示下一個。怎麼做?

+1

你必須有一些錯誤。許多意想不到的','和一個失蹤'';' – elclanrs 2012-02-04 19:18:20

+0

@elclanrs:拖尾','是有效的。 – 2012-02-04 19:25:12

+0

它們可能會導致某些瀏覽器出現問題。爲什麼你會像那樣使用它們?這不是很可讀。如果你使用類似jslint的東西,它會告訴你,不!這是不正確的做法... – elclanrs 2012-02-04 19:32:46

回答

1

嘗試在其他的setTimeout包裹每個的setTimeout:

setTimeout(function() { setTimeout(showElq, 5000); }, 1000); 
+0

謝謝,它引導了我延遲()函數 – Nips 2012-02-04 19:58:14