2011-09-10 7 views
4

問題は、私が順次5秒ごとかそこらを実行したい4つの機能を持っている、と私はそれがあるように、コードが非効率的である知っている複数の機能によるループ/セパレータ?

それについてに行くかわからない、です。 (今の機能もクリックされたボタンによってトリガすることができるので、私はそれがこのように設定している)

function tScroll1(){ 
    var $testimonialScrollPos = parseInt($tCont.css('top'), 10); 
    if($testimonialScrollPos == -915){ 
     $tCont.css('top','305px'); 
     $tCont.animate({top:'0px'},700); 
     } 
     else{ 
      $tCont.animate({top:'0px'},700); 
      } 
    }; 
function tScroll2(){ 
     $tCont.animate({top:'-305px'},700); 
    }; 
function tScroll3(){ 
     $tCont.animate({top:'-610px'},700); 
     }; 
function tScroll4(){ 
     $tCont.animate({top:'-915px'},700); 
     }; 
$tBtns.eq(0).click(function(){tScroll1()}); 
$tBtns.eq(1).click(function(){tScroll2()}); 
$tBtns.eq(2).click(function(){tScroll3()}); 
$tBtns.eq(3).click(function(){tScroll4()});  

すべてのヘルプは大歓迎です:]。

+0

ここにあるものは、カルーセルのように見えます。あなたは既成のものを使ってみませんか? – Jon

答えて

15

ただ、他の関数を呼び出す関数ます

:あなたは、回転するために、一度に一つそれらを呼び出す配列にそれらを入れて、配列インデックスを維持したい場合は

window.setInterval(function(){ 
    tScroll1(); 
    tScroll2(); 
    tScroll3(); 
    tScroll4(); 
}, 5000); 

var intervalFunctions = [ tScroll1, tScroll2, tScroll3, tScroll4 ]; 
var intervalIndex = 0; 
window.setInterval(function(){ 
    intervalFunctions[intervalIndex++ % intervalFunctions.length](); 
}, 5000); 
+1

ありがとう! 2つ目は完全に機能しました。配列は間違いなく私の弱点であり、これは –

+0

+1の両方の可能な解釈をカバーするのに役立った。 – nnnnnn

関連する問題