6 jQuery Infinite Scrolling Demos
キーテイクアウト
- この記事では、無限のスクロールを実装する方法に関する6つのデモを紹介します。これは、ページネーションリンクをクリックせずにコンテンツを継続的にスクロールできるようにし、ユーザーエクスペリエンスとエンゲージメントを改善することができない機能です。 デモには、グリッド、ブログ投稿、画像、数字、スプレッドシート、および無限のスクロールとペジネーションの組み合わせを介した無限のスクロールが含まれます。各デモはjQueryで書かれていますが、バニラJSに適合させることができ、一部はjQueryプラグインを使用できます。
- ロードメッセージの調整、エラーの処理、動的コンテンツの処理、コンテンツの停止、コンテンツの最適化によるパフォーマンスの改善など、インフィニットスクロールの実装は、プロジェクトのニーズに応じてカスタマイズできます。
- 1。無限のスクロールとグリッド このデモでは、無限のスクロールプラグインとともにjQuery石積みプラグインを使用します。石積みプラグインは、流体グリッドレイアウトを取得するのに適しています。 Paul Irishによる無限のスクロールプラグインは、すでに存在するページを読み込むのが得意です(したがって、SEOに適しています)。 Page2.html、page3.htmlなどの静的ページをロードするために使用できますが、このプラグインはpage.php?p = 2、page.php?p = 3などの生成されたページも処理します。ただし、それを使用するには、URLにインクリメントするページ番号が必要なため、page.php?data = xxxなどのページがある場合、このプラグインはあなたのためではありません。
使用法 - html
使用法 - jquery
<span><span><span><div</span> class<span>="grid"</span>></span> </span> <span><span><span><div</span> class<span>="grid-item grid-item-2"</span>></span> </span> <span><span><span><p</span>></span>content<span><span></p</span>></span> </span> <span><span><span></div</span>></span> </span> … <span><span><span></div</span>></span> </span> <span><!-- The next page which content will be loaded when scrolled --> </span><span><span><span><nav</span> id<span>="pagination"</span>></span> </span> <span><span><span><p</span>></span><span><span><a</span> href<span>="page-2.html"</span>></span>Page 2<span><span></a</span>></span><span><span></p</span>></span> </span><span><span><span></nav</span>></span></span>
2。ブログの投稿を介して無限のスクロール
<span>$(document).ready(function() { </span> <span>var grid = $('.grid'); </span> grid<span>.masonry({ </span> <span>itemSelector: '.grid-item', </span> <span>columnWidth: 200 </span> <span>}); </span> grid<span>.infinitescroll({ </span> <span>// Pagination element that will be hidden </span> <span>navSelector: '#pagination', </span> <span>// Next page link </span> <span>nextSelector: '#pagination p a', </span> <span>// Selector of items to retrieve </span> <span>itemSelector: '.grid-item', </span> <span>// Loading message </span> <span>loadingText: 'Loading new items…' </span> <span>}, </span> <span>// Function called once the elements are retrieved </span> <span>function(new_elts) { </span> <span>var elts = $(new_elts).css('opacity', 0); </span> elts<span>.animate({opacity: 1}); </span> grid<span>.masonry('appended', elts); </span> <span>}); </span><span>});</span>
使用法 - html
使用法 - jquery
<span><span><span><div</span> class<span>="grid"</span>></span> </span> <span><span><span><div</span> class<span>="grid-item grid-item-2"</span>></span> </span> <span><span><span><p</span>></span>content<span><span></p</span>></span> </span> <span><span><span></div</span>></span> </span> … <span><span><span></div</span>></span> </span> <span><!-- The next page which content will be loaded when scrolled --> </span><span><span><span><nav</span> id<span>="pagination"</span>></span> </span> <span><span><span><p</span>></span><span><span><a</span> href<span>="page-2.html"</span>></span>Page 2<span><span></a</span>></span><span><span></p</span>></span> </span><span><span><span></nav</span>></span></span>
3。画像を介して無限のスクロール
<span>$(document).ready(function() { </span> <span>var grid = $('.grid'); </span> grid<span>.masonry({ </span> <span>itemSelector: '.grid-item', </span> <span>columnWidth: 200 </span> <span>}); </span> grid<span>.infinitescroll({ </span> <span>// Pagination element that will be hidden </span> <span>navSelector: '#pagination', </span> <span>// Next page link </span> <span>nextSelector: '#pagination p a', </span> <span>// Selector of items to retrieve </span> <span>itemSelector: '.grid-item', </span> <span>// Loading message </span> <span>loadingText: 'Loading new items…' </span> <span>}, </span> <span>// Function called once the elements are retrieved </span> <span>function(new_elts) { </span> <span>var elts = $(new_elts).css('opacity', 0); </span> elts<span>.animate({opacity: 1}); </span> grid<span>.masonry('appended', elts); </span> <span>}); </span><span>});</span>
このデモは、無限の巻物の画像にロードされ、終わりに到達することはありません。 jQuery Endlessスクロールプラグインを使用して、画面の下部からXピクセル数をロードするトリガーにカスタマイズできます。デモは同じ画像をクロームし、リストの最後にそれらを挿入しますが、スクリプトをカスタマイズして、異なるソースから画像を非常に簡単に読み込むことができます。
CodepenのSitePoint(@SitePoint)の画像をスクロールするペンの無限を参照してください。使用法 - html
使用法 - jquery
<span><span><span><ul</span> id<span>="posts"</span>></span> </span> <span><span><span><li</span>></span> </span> <span><span><span><article</span>></span>content<span><span></article</span>></span> </span> <span><span><span></li</span>></span> </span> … <span><span><span></ul</span>></span> </span> <span><span><span><p</span> id<span>="loading"</span>></span> </span> <span><span><span><img</span> src<span>="images/loading.gif"</span> alt<span>="Loading…"</span> /></span> </span><span><span><span></p</span>></span></span>
このデモは、前のプラグインと同じプラグインを使用しますが、独自の垂直スクロールバーを使用して無限のスクロールをリストに適用しました。下にスクロールすると、数字はリスト項目として追加されます。
<span>$(document).ready(function() { </span> <span>var win = $(window); </span> <span>// Each time the user scrolls </span> win<span>.scroll(function() { </span> <span>// End of the document reached? </span> <span>if ($(document).height() - win.height() == win.scrollTop()) { </span> <span>$('#loading').show(); </span> $<span>.ajax({ </span> <span>url: 'get-post.php', </span> <span>dataType: 'html', </span> <span>success: function(html) { </span> <span>$('#posts').append(html); </span> <span>$('#loading').hide(); </span> <span>} </span> <span>}); </span> <span>} </span> <span>}); </span><span>});</span>
使用法 - html
使用法 - jquery
5。無限のスプレッドシート
<span><span><span><ul</span> id<span>="images"</span>></span> </span> <span><span><span><li</span>></span> </span> <span><span><span><a</span> href<span>="https://www.pexels.com/photo/mist-misty-fog-foggy-7919/"</span>></span> </span> <span><span><span><img</span> src<span>="https://pexels.imgix.net/photos/7919/pexels-photo.jpg?fit=crop&w=640&h=480"</span> alt<span>=""</span> /></span> </span> <span><span><span></a</span>></span> </span> <span><span><span></li</span>></span> </span> … <span><span><span></ul</span>></span></span>
すべてのセルが空であることに注意してください。行と列のインデックスは、CSSカウンターで生成されるため、自分で計算する必要はありません。
CodepenのSitePoint(@SitePoint)のペンの無限のスプレッドシートを参照してください。
使用法 - html<span>$(document).ready(function() { </span> <span>$(window).endlessScroll({ </span> <span>inflowPixels: 300, </span> <span>callback: function() { </span> <span>var $img = $('#images li:nth-last-child(5)').clone(); </span> <span>$('#images').append($img); </span> <span>} </span> <span>}); </span><span>});</span>
使用法 - jquery
6。無限のスクロールページネーション
無限のスクロールに対して短所があります。それがうまく実装されていない場合、ユーザーエクスペリエンスが壊れる可能性があります。ユーザーに無限のリストをロードさせた場合、しばらくすると位置を失う可能性があります。それは、従来のページネーションシステムに決して追加されないものです。ただし、ページネーションには、無限のスクロールに必要ではないユーザーからのアクションが必要です。
これらの2つの事実は、Tim Severienにアイデアを与えました。両方の方法を活用するために、無限のスクロールとページネーションを組み合わせた場合はどうなりますか?結果は、この最後のデモです。
初期ページがユーザーに表示されます。ユーザーが下にスクロールしてページの下部に到達すると、新しいページが自動的にロードされます。ここでは、無限のスクロールからのシンプルさを楽しんでいます。しかし、新しいことは画面の下部に固定されたリストから来ています。
最初に非表示になったこのリストは、新しいページがロードされるたびに、このページの数を記入するたびに記入されています。そうすれば、ユーザーが2番目のページを取得したい場合、対応する番号を押すことで努力せずにできます。使用法 - html
使用法 - javaScript
このコードはES6を使用していることに注意してくださいが、ES5に簡単に変換できます。
<span><span><span><div</span> class<span>="grid"</span>></span> </span> <span><span><span><div</span> class<span>="grid-item grid-item-2"</span>></span> </span> <span><span><span><p</span>></span>content<span><span></p</span>></span> </span> <span><span><span></div</span>></span> </span> … <span><span><span></div</span>></span> </span> <span><!-- The next page which content will be loaded when scrolled --> </span><span><span><span><nav</span> id<span>="pagination"</span>></span> </span> <span><span><span><p</span>></span><span><span><a</span> href<span>="page-2.html"</span>></span>Page 2<span><span></a</span>></span><span><span></p</span>></span> </span><span><span><span></nav</span>></span></span>
結論
無限のスクロールを実装する6つの異なる例を調べました。何を構築しようとしていても、これらのテクニックのいずれかを使用して、必要な結果を実現できるはずです。いつものように、私たちはあなたの考えを聞きたいです。これらのプラグインやテクニックのいずれかで何かクールなものを作りましたか?言及すべきだったと思うお気に入りのプラグインはありますか?コメントでお知らせください!
<span>$(document).ready(function() { </span> <span>var grid = $('.grid'); </span> grid<span>.masonry({ </span> <span>itemSelector: '.grid-item', </span> <span>columnWidth: 200 </span> <span>}); </span> grid<span>.infinitescroll({ </span> <span>// Pagination element that will be hidden </span> <span>navSelector: '#pagination', </span> <span>// Next page link </span> <span>nextSelector: '#pagination p a', </span> <span>// Selector of items to retrieve </span> <span>itemSelector: '.grid-item', </span> <span>// Loading message </span> <span>loadingText: 'Loading new items…' </span> <span>}, </span> <span>// Function called once the elements are retrieved </span> <span>function(new_elts) { </span> <span>var elts = $(new_elts).css('opacity', 0); </span> elts<span>.animate({opacity: 1}); </span> grid<span>.masonry('appended', elts); </span> <span>}); </span><span>});</span>
jQuery Infiniteスクロールに関するよくある質問(FAQ)
WebサイトでjQuery Infiniteスクロールを実装するにはどうすればよいですか?
jQuery Infiniteスクロールの実装には、いくつかのステップが含まれます。まず、HTMLファイルにjQueryライブラリとInfiniteスクロールプラグインを含める必要があります。次に、プラグインを初期化し、無限にロードするコンテンツを指定する必要があります。これを行うには、ItemSelectorオプションを使用して、コンテンツのクラスまたはIDを指すことができます。最後に、パスオプションを使用して、次のコンテンツセットへのパスを指定する必要があります。これは、URLまたはURLを返す関数にすることができます。ページネーションリンクをクリックすることなく、ユーザーがコンテンツを閲覧できるようにすることで、ユーザーエクスペリエンスが向上します。コンテンツは必要なときにのみロードされるため、サーバーの負荷も削減されます。さらに、ユーザーはコンテンツをスクロールして探索し続ける可能性が高いため、ウェブサイトでのエンゲージメントと時間を増やすことができます。 、jquery Infiniteスクロールでロードメッセージをカスタマイズできます。プラグインは、ロードと呼ばれるオプションを提供します。これにより、コンテンツのロード中に表示するテキストと画像を指定できます。 CSSを使用して、ロードメッセージをスタイリングすることもできます。jQuery Infiniteスクロールのエラーを処理するにはどうすればよいですか?
jQuery Infiniteスクロールのエラーを処理することで、エラーコールバックを使用して実行できます。この関数は、プラグインがコンテンツのロードに失敗したときに呼び出されます。このコールバックを使用してエラーメッセージを表示したり、他のアクションを実行したりできます。
動的コンテンツでjQuery Infiniteスクロールを使用できますか?プラグインは、INFSCR( 'bind')と呼ばれるメソッドを提供します。これは、無限のスクロール機能を新しくロードされたコンテンツにバインドするために呼び出すことができます。
INFSCR(「Destroy」)メソッドを呼び出すことでコンテンツがなくなると、JQuery Infiniteスクロールを停止できます。これにより、無限のスクロール機能が削除され、さらなるコンテンツがロードされないようにします。 。ただし、他のプラグインが無限のスクロールと互換性があり、その機能に干渉しないようにする必要があります。ページを下にスクロールし、新しいコンテンツがロードされているかどうかを確認します。ブラウザ開発者ツールを使用してネットワークリクエストを監視し、新しいコンテンツが要求されて正しくロードされているかどうかを確認することもできます。モバイルデバイスで動作します。ただし、ウェブサイトが応答性があり、無限のスクロール機能がさまざまな画面サイズでうまく機能するようにする必要があります。コンテンツを最適化することにより、jQuery Infiniteスクロールのパフォーマンス。これには、画像のサイズの削減、CSSおよびJavaScriptファイルの模倣、サーバー側のページネーションを使用して、一度にロードされたコンテンツの量を制限することが含まれます。怠zyなロードを使用して、ビューポートにあるときに画像をロードすることもできます。以上が6 jQuery Infinite Scrolling Demosの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。
