iScroll.jsを使用して、モバイルページ上のアイテムのカルーセルをスクロールしています。私は、垂直方向の動きをリッスン以下の修正を発見し、制御することiScrollスクリプトを停止し、ネイティブ垂直スクロールが起こるせる:iScroll - ネイティブの垂直スクロールを維持 - AndroidではなくiOSで動作します。
onBeforeScrollStart: function(e) {
try {
point = e.touches[0];
pointStartX = point.pageX;
pointStartY = point.pageY;
} catch(e) {}
null;
},
onBeforeScrollMove: function(e) {
try {
deltaX = Math.abs(point.pageX - pointStartX);
deltaY = Math.abs(point.pageY - pointStartY);
if (deltaX >= deltaY) {
e.preventDefault();
} else {
null;
}
} catch(e) {}
}
でテストするとき、それはいくつかの問題を持っていたとして、私は試してみる{}キャッチ{}を使用していますブラウザ(定義されていない点について不平を言う)。
私が抱えている問題は、iOSでうまく動作し、いくつかのiデバイスでテストされていますが、Androidではそれほど良くありません。ユーザーがカルーセルに指を置いて開始して、ページを垂直方向にスクロールしようとすると、iScrollがまだコントロールしているので、ページはスクロールしません。
どのように私はそれが間違っているかもしれない方向へのAndroid、または任意のポインターで動作するように得ることができますか?
編集:
いくつかのデバッグ、これが機能しない理由私はおそらく発見しました。ユーザーがiOSの画面に触れている間に座標が更新されていますが、Androidでは最初の座標セットのみがキャッチされています。なぜこれがどんなアイデアですか?
あなたは 'myScroll.disable()'と 'myScroll.enable()'を使ってみましたか? –