指定したレイヤー (スライド) にスクロールするために jQuery を使用するページがあります。しかし、私を悩ませているものがあります。それを変更したいのですが、どうすればよいかわかりません。助けていただけるかもしれません。
このチュートリアルを使用して、視差スクロール Web サイトを作成しました
関数の実行方法に関する私の考えは次のとおりです...関数はスクロールイベントの終了後に実行され、スライドと等しくない場合は現在の位置を取得し、3秒後に最も近いスライドにスクロールします。また、別のスクロール イベントが発生した場合も終了する必要があります。
//When the user scrolls to a point between slides auto scroll to nearest slide
mywindow.scroll(function () {
curLoc = mywindow.scrollTop();
nearSlide = slideClosestTo-curLoc;
if (curLoc != slide) {
delay(3000).goToByScroll(nearSlide);
}
});
これは非常に簡単だと思いますが、jQuery についての知識がなく、.min.js ファイルが何をするのかを理解しようとすると、それが好きではありません...まあ、まったく理解できません.
あなたが私を助けてくれることを願っています、ありがとう:)_
編集 自分で作ろうとしましたが、まだ解決できません。すべてのスライドの「scrollTop」値を取得する必要があり、「curLoc」に最も近い値が「goToByScroll」関数に解析される必要があります。スライド位置の配列を構築するためにループを作成する必要がありますか? すべてのスライドには「スライド」のクラスがあるため、そのクラスで要素の数を何らかの方法でカウントでき、そのカウントをインデックスとして使用して「while ループ」を実行し、スライド位置の配列を作成できます。次に、ウィンドウの現在の位置に最も近いものを選択する方法を考え出す必要があります...すべての配列要素から現在の位置を減算すると、0に最も近いものがスライドするものになると思います:)