これは参考までに。
skrollrでモバイル用の自動スクロール機能を実装するときに見つけた長所と短所は次のとおりです。
タッチ イベント用に 2 つのライブラリ [jQuery Mobile、hammer.js] を使用しました。ドキュメンテーションの方が気に入ったので、hammer に固執することになりました。
iPadでの使い方は簡単でした。右の画面を長押しすると、離すまでオートスクロールするようにしました。左はその逆。
私の問題は、リリース イベントの読み取りに失敗してスクロールし続け、ユーザーがそれを停止する方法がなかったことです。
しばらく悩んだ末、交換することにしました。私がしたことは、ユーザーがタップできる 2 つのボタンを配置することでした。これにより、skrollr アニメーション全体の次のセクションに自動スクロールされます。
これが私が書いた私のコードの例です。
var ai = 0;
var positionArray = [0, 1244,3194,15468]
$(function () {
var rightArrow = document.getElementById('right-arrow')
var mcRight = new Hammer(rightArrow);
mcRight.on("tap", function (ev) {
ai++
s.animateTo(positionArray[ai])
//alert(s.getScrollTop())
});
var leftArrow = document.getElementById('left-arrow')
var mcLeft = new Hammer(leftArrow);
mcLeft.on("tap", function (ev) {
ai--
s.animateTo(positionArray[ai])
});
})
お役に立てれば。タップ アンド ホールドを使用した元の方法が欲しかったのですが、どちらのプラグインもスクロールでタップホールド リリース イベントを読み取る際に問題がありました。
もう 1 つの問題ですが、ドキュメントを参照して修正するのは非常に簡単です。アニメーションのセクションの長さに関係なく、そこに到達するまでに 1 秒かかります。それが小さなセクションであればいいのですが、長いセクションがある場合は非常に速くスクラブします.