2012-03-20 116 views
1

首先,我真的很抱歉我的英語很差......如何在iScroll中獲取滾動方向

現在我在做PhoneGap開發。 我使用iScroll來製作listview滾動。 我想要獲取滾動方向。例如,當我向下滑動屏幕時,滾動條會向上滾動。當我向上滑動屏幕時,滾動條會向下滾動,滾動條時如何獲得滾動條的方向?

任何人都可以幫忙嗎? 我將不勝感激!

回答

6

我有同樣的自問題,並最終使用了iScroll實例的.dirX.dirY屬性。它們的值始終爲1(左/上),0(無)或-1(右/下),如果方向位於特定軸上,則該值很好地評估爲true

new iScroll("your_element_id", { 
    onTouchEnd: function(){ 
     alert(this.dirX); // Returns 1, 0 or -1 
     alert(!!this.dirX); // Returns true for horizontal 
    } 
}); 

當我需要得到輕彈的方向我用onTouchEnd事件,但同樣適用於onScrollMove(和其他可能的事件)了。

+1

完美!使用它與onScrollEnd完美! – streetlight 2013-03-08 19:30:06

1

沒有直接的方法來做到這一點,但你可以通過事件來實現這一點。

您可以使用onScrollStart事件來檢測滾動何時開始。使用.x記錄當前位置,並開始一個間隔(setInterval)以繼續檢查新的當前位置。然後你可以做出改變,並確定你是否向左或向右滾動。

確保清除滾動的時間間隔。