2

まず、下手な英語で本当に申し訳ありません...

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

サンプルとして、画面を下にスライドすると、スクローラーが上にスクロールします。画面を上にスライドすると、スクローラーが下にスクロールします。

誰でも助けることができますか?私は感謝するでしょう!

4

2 に答える 2

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

于 2012-08-14T13:00:45.033 に答える
1

これを行う直接的な方法はありませんが、イベントを通じてこれを実現できます。

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

scrollend の間隔を必ずクリアしてください。

于 2012-04-17T21:53:06.467 に答える