<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>
<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
<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>
<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><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>
使用法 - jquery
<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>
<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>
6。無限のスクロールページネーション
無限のスクロールに対して短所があります。それがうまく実装されていない場合、ユーザーエクスペリエンスが壊れる可能性があります。ユーザーに無限のリストをロードさせた場合、しばらくすると位置を失う可能性があります。それは、従来のページネーションシステムに決して追加されないものです。ただし、ページネーションには、無限のスクロールに必要ではないユーザーからのアクションが必要です。
これらの2つの事実は、Tim Severienにアイデアを与えました。両方の方法を活用するために、無限のスクロールとページネーションを組み合わせた場合はどうなりますか?結果は、この最後のデモです。
初期ページがユーザーに表示されます。ユーザーが下にスクロールしてページの下部に到達すると、新しいページが自動的にロードされます。ここでは、無限のスクロールからのシンプルさを楽しんでいます。しかし、新しいことは画面の下部に固定されたリストから来ています。
最初に非表示になったこのリストは、新しいページがロードされるたびに、このページの数を記入するたびに記入されています。そうすれば、ユーザーが2番目のページを取得したい場合、対応する番号を押すことで努力せずにできます。使用法 - html
使用法 - javaScript
<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>
WebサイトでjQuery Infiniteスクロールを実装するにはどうすればよいですか?
jQuery Infiniteスクロールのエラーを処理することで、エラーコールバックを使用して実行できます。この関数は、プラグインがコンテンツのロードに失敗したときに呼び出されます。このコールバックを使用してエラーメッセージを表示したり、他のアクションを実行したりできます。
以上が6 jQuery Infinite Scrolling Demosの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。