2012-02-04 6 views
0

私は5000msごとに変化する画像を持っており、私はそれらに字幕を入れたいと思っていました。私はこれがあります。遅延を伴うアニメーションのループ方法は?

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

あなたはそこにいくつかのエラーを持っています。多くの予期しない '、'、 'missing ');' – elclanrs

+0

@elclanrs:Trailing '、'が有効です。 –

+0

一部のブラウザで問題が発生することがあります。とにかく、そんなに使ってみませんか?それはあまり読めるものではありません。あなたがjslintのようなものを使うと、それはあなたに伝えられます。それは正しい方法ではありません... – elclanrs

答えて

1

は、別のsetTimeoutでそれぞれのsetTimeoutをラップしてみてください。

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

ありがとう、それは私を導いたdelay()関数へ – Nips

関連する問題