2017-03-21 5 views
1

ボタンをクリックすると、「SliderArray」配列内のオブジェクト数のスライドショーを作成します。setTimeoutを使用して複数のスライドショーを動的に作成する

現在のJSfiddleは、スタンドアロンモードで利用できます。私はループに機能を取る

すると、物事はあなたが二sliderを操作することはありませんので、これは「汚い」で乱雑

var myFunction = function() { 
if (counter == 0) { 
    $('#' + sliderarray[0].slaytarray[counter].id).fadeIn(); 
    frametime = sliderarray[0].slaytarray[counter].frame_time * 1000; 
    counter++; 
} else if (counter == sliderarray[0].slaytarray.length) { 
    $('#' + sliderarray[0].slaytarray[counter - 1].id).fadeOut(); 
    counter = 0; 
    frametime = 0; 
} else { 
    $('#' + sliderarray[0].slaytarray[counter - 1].id).fadeOut(); 
    $('#' + sliderarray[0].slaytarray[counter].id).fadeIn(); 
    frametime = sliderarray[0].slaytarray[counter].frame_time * 1000; 
    counter++; 
} 

timeout = setTimeout(myFunction, frametime); 

} 

var timeout = setTimeout(myFunction, frametime); 

そして、ここで私のオブジェクト enter image description here

+1

を参照してください。 JSFiddleは、それをクリックすると色を循環しているようです。 「物事は面倒ですか?」とはどういう意味ですか? – TrampolineTales

+0

ボタンをクリックすると、一番上のスライドショーだけが機能しています。 「スライダアレイ」オブジェクト内には2つのスライドオブジェクトがあります。私が望むのは、ボタンをクリックすると、これらの2つのスライドショーの操作です。私はこの問題をループで解決しませんでした。 –

答えて

2

を取得します。

私はsliderarray.forEachを使用してそれを修正:

var myFunction = function() { 
    if (counter == 0) { 
     sliderarray.forEach(function (slider) { 
      $('#' + slider.slaytarray[counter].id).fadeIn(); 
      frametime = slider.slaytarray[counter].frame_time * 1000; 
     }); 
     counter++; 
    } else if (counter == sliderarray[0].slaytarray.length) { 
     sliderarray.forEach(function (slider) { 
      $('#' + slider.slaytarray[counter - 1].id).fadeOut(); 
     }); 
     counter = 0; 
     frametime = 0; 
    } else { 
     sliderarray.forEach(function (slider) { 
      $('#' + slider.slaytarray[counter - 1].id).fadeOut(); 
      $('#' + slider.slaytarray[counter].id).fadeIn(); 
      frametime = slider.slaytarray[counter].frame_time * 1000; 
    }); 
    counter++; 
} 

2が必要なときに一度だけ使用しているのでframetimeのための問題がまだあります。私はあなたにそれを見てみましょう。

は、それはあなたが達成したいまさに少しは不明だupdated JSFiddle

+0

フレームタイムの問題がない完璧でシンプルなソリューション私はこのために働いています..お元気ですか.. –

関連する問題