2012-03-20 7 views
1

まず、私の貧しい英語のために本当に申し訳ありません...iScrollのスクロール方向を取得するには

私はPhoneGap開発をやっています。 iScrollを使用してリストビューをスクロールします。 そして、私はスクロール方向を取得したい。

サンプルでは、​​画面を下にスライドすると、スクロールが上にスクロールします。画面を上にスライドするとスクロールが下にスクロールし、スクロールの方向をスクロールする方法を教えてください。

誰でもお手伝いできますか? 私は感謝します!

答えて

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

1

これを行う直接的な方法はありませんが、イベントによってこれを達成できます。

onScrollStartイベントを使用して、スクロールが開始されたことを検出できます。 .xを使用して現在位置を記録し、新しい現在位置を確認し続ける間隔(setInterval)を開始します。それで差をつけて、左右にスクロールしたかどうかを調べることができます。

スクロールエンドの間隔を必ずクリアしてください。

関連する問題