1

skrollrを使用して iOS 用の視差 Web サイトを作成しました。プログラムでページ上のポイントまでスクロールしたいと思います。jquery スクロール プラグインを使用しましたが、デスクトップでは動作しますが、モバイルでは動作しません。スワイプアップをシミュレートしたり、jQuery を使用して別のポイントへのスクロールをシミュレートしたりするにはどうすればよいですか? ありがとう!

編集: これが機能しない理由は、モバイルでは、iOS がスクロール中にアニメーションを停止するため、skrollr が実際にはスクロールしないためです。代わりに、タッチ イベントをリッスンして要素を移動します。これが、scrollTo プラグインが機能しない理由です。(出典: https://github.com/Prinzhorn/skrollr#mobile-support )

4

2 に答える 2

0

これは参考までに。

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 秒かかります。それが小さなセクションであればいいのですが、長いセクションがある場合は非常に速くスクラブします.

于 2015-08-05T14:10:20.700 に答える