まず、下手な英語で本当に申し訳ありません...
現在、PhoneGap の開発を行っています。iScroll を使用して、リストビューのスクロールを行います。そして、スクロール方向を取得したい。
サンプルとして、画面を下にスライドすると、スクローラーが上にスクロールします。画面を上にスライドすると、スクローラーが下にスクロールします。
誰でも助けることができますか?私は感謝するでしょう!
私は同じ自己質問をして、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
これを行う直接的な方法はありませんが、イベントを通じてこれを実現できます。
onScrollStart イベントを使用して、スクロールが開始されたことを検出できます。.x を使用して現在の位置を記録し、間隔 (setInterval) を開始して、新しい現在の位置を確認し続けます。次に、違いを確認して、左にスクロールしたか右にスクロールしたかを把握できます。
scrollend の間隔を必ずクリアしてください。