2013-10-15 37 views
0

我正在使用Javascript處理圓形圖像旋轉木馬。使用Javascript確定圖像旋轉木馬的下一個正確移動

它需要是循環的,因爲如果當前選擇0位置幻燈片並按下「上一個」,它將跳轉到最後一個位置幻燈片。如果當前選擇了最後一個位置滑動,並按下「下一步」,它將跳轉到0位置滑動。

另一個程序處理的整體滑動,但我可以:

  • 檢測當前位置移與slide.current - 所述第一位置爲0
  • 檢測滑動的總數(不改變,直到頁面重新加載)與slide.items.length
  • 我自己的nextSlidepreviousSlide功能在幻燈片程序完成其自身的補充功能後
  • 手動更改滑動API使用slideTo()當前選定的滑動件和指針位置
  • 自動知道第一可見滑動,頁面加載後,是除以2的項目(3到n)的總數,向上舍入

這是我有:

var currentSlide = slide.current; 
var lastSlide = 'undefined'; 

function nextSlide(){ 
    currentSlide = slide.current; 

    if(lastSlide == 'undefined'){ 
     lastSlide = currentSlide - 1; 
    } else if (lastSlide == 0) { 
     lastSlide = currentSlide; 
    } else{ 
     lastSlide = lastSlide + 1; 
    } 

    if (lastSlide == currentSlide) { 
     slide.activate(0); 
    } 
} 

function previousSlide(){ 
    currentSlide = slide.current; 

    if(lastSlide == 'undefined'){ 
     lastSlide = currentSlide + 1; 
    } else if (lastSlide == slide.items.length - 1) { 
     lastSlide = currentSlide; 
    } else{ 
     lastSlide = lastSlide - 1; 
    } 

    if (lastSlide == currentSlide) { 
     slide.activate(sly.items.length - 1); 
    } 
} 

當你混合previousSlide電話和nextSlide調用此失敗。 lastSlide變量變得不正確。

回答

0
  • 沒有必要將lastSlide的值聲明爲「undefined」。如果您聲明一個變量而不指定任何值,則默認情況下它變爲未定義。

  • 鑑於幻燈片是一個對象,因此nextSlide和previousSlide作爲方法代替獨立函數會更有意義。

  • lastSlide的值應該取決於currentSlide的值。

  • 應該使用嚴格的比較運算符來避免將來的類型混淆。 (===而不是==)

+0

謝謝你,我會在我的最終版本中解決一些問題。 你對我有什麼邏輯問題有任何意見嗎?我的代碼中的其他部分都是可用的,我只需要找出邏輯就可以了。 –

相關問題