<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
<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
<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>
>
>请参阅codepen上的sitepoint(@sitepoint)的钢笔无限电子表格。>用法 - html
<span><span><span><ul</span> id<span>="numbers"</span>></span> </span> <span><span><span><li</span>></span>1<span><span></li</span>></span> </span> <span><span><span><li</span>></span>2<span><span></li</span>></span> </span> <span><span><span><li</span>></span>3<span><span></li</span>></span> </span> <span><span><span><li</span>></span>4<span><span></li</span>></span> </span> <span><span><span><li</span>></span>5<span><span></li</span>></span> </span> … <span><span><span></ul</span>></span></span>
<span>$(document).ready(function() { </span> <span>var offset = $('#numbers li').length; </span> <span>$('#numbers').endlessScroll({ </span> <span>fireOnce: false, </span> <span>fireDelay: false, </span> <span>loader: '', </span> <span>insertAfter: '#numbers li:last', </span> <span>content: function(i) { </span> <span>return '<li>' + (i + offset) + '</li>'; </span> <span>} </span> <span>}); </span><span>});</span>
这两个事实给了蒂姆·塞维安(Tim Severien)一个想法:如果我们将无限滚动和分页结合在一起,以利用这两种方法怎么办?结果是最后一个演示。
>向用户显示了初始页面。当用户向下滚动并到达页面底部时,将自动加载一个新页面。在这里,我们享受无限滚动的简单性。但是新事物来自屏幕底部的列表。
>最初隐藏,此列表已填充,每次加载新页面时,此页面的数量。这样,如果用户想检索第二页,他们可以通过击中相应的数字而在任何努力中。
请参阅codepen上的sitepoint(@sitepoint)的钢笔无限滚动分页。>用法 - 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>
>常见问题(常见问题解答)
>如何在我的网站上实现jQuery无限滚动?>在您的网站上实施jQuery infinite滚动涉及几个步骤。首先,您需要在HTML文件中包括jQuery库和无限滚动插件。然后,您需要初始化插件并指定要无限加载的内容。您可以使用ItemSelector选项并将其指向内容的类或ID。最后,您需要使用路径选项指定下一组内容的路径。这可以是返回URL的URL或功能。>使用JQuery Infinite滚动有什么好处?它通过允许用户浏览内容而无需单击分页链接来改善用户体验。它还减少了服务器的负载,因为仅在需要时加载内容。此外,由于用户更有可能继续滚动和探索您的内容。 ,您可以在jQuery无限滚动中自定义加载消息。该插件提供了一个名为“加载”的选项,该选项允许您指定内容加载时要显示的文本和图像。您也可以使用CSS来样式加载消息。>
我可以使用动态内容的jQuery Infinite滚动?该插件提供了一种称为infscr('bind')的方法,您可以调用该方法将无限的滚动功能绑定到新加载的内容。
>
>我如何测试jQuery Infinite Scrolling?您可以测试jQuery Infinite滚动通过向下滚动您的页面并检查是否已加载新内容。您还可以使用浏览器开发人员工具来监视网络请求并检查是否正确并正确加载了新内容。我可以在移动设备上使用jQuery infinite滚动吗?
>我如何提高jQuery Infinite scrolling的性能? jQuery无限滚动的性能通过优化您的内容。这包括减少图像的大小,缩小CSS和JavaScript文件,并使用服务器端分页一次限制加载的内容量。您也可以在视图中使用懒负载来加载图像。
>以上是6 jQuery无限滚动演示的详细内容。更多信息请关注PHP中文网其他相关文章!