页面滚动无限加载jQuery插件jquery.infinitescroll.js使用说明
jquery.infinitescroll.js插件的作用是:随着浏览器窗口滚动,不刷新页面自动加载下一页内容,常用于文章列表页面。常见的手机浏览网站的文章列表,浏览到最后一篇时,自动加载更多的文章出来。
插件官网和下载:https://infinite-scroll.com/
基本用法
在html文件的<head></head>之间引用插件文件:
<script src="https://unpkg.com/infinite-scroll@3/dist/infinite-scroll.pkgd.min.js"></script>
HTML结构:
<div id="content"> <div class="post">...</div> ...... </div> <div class="navigation"> <a href="next1.html">正在加载...</a> </div>
注意:正在加载的链接页面next1.html,后面加载的页面要直接换成一页的页面url,如next2.html、next3.html
插件代码:
$('#content').infinitescroll({ //#content是包含所有图或块的容器 navSelector : "div.navigation", //导航的容器,成功后会被隐藏 nextSelector : "div.navigation a:first", // 包含下一页链接的容器 itemSelector : "#content div.post" // 你将要取来的内容块 });
常用参数
$('#content').infinitescroll({ navSelector : "div.navigation", //导航的选择器,会被隐藏 nextSelector : "div.navigation a:first",//包含下一页链接的选择器 itemSelector : "#content div.post",//你将要取回的选项(内容块) debug : true, //启用调试信息 loadingImg : "/img/loading.gif", //加载的时候显示的图片 //默认采用:"http://www.infinite-scroll.com/loading.gif" animate : true, //当有新数据加载进来的时候,页面是否有动画效果,默认没有 extraScrollPx: 50, //滚动条距离底部多少像素的时候开始加载,默认150 bufferPx : 40,//载入信息的显示时间,时间越大,载入信息显示时间越短 errorCallback: function(){},//当出错的时候,比如404页面的时候执行的函数 localMode : true //是否允许载入具有相同函数的页面,默认为false },function(arrayOfNewElems){ //程序执行完的回调函数 }); //取消绑定事件的函数写法: $(window).unbind(‘.infscr’); //通过事件触发加载数据的写法: $(document).trigger(‘retrieve.infscr’); //比如加到某个click事件中 //此插件还可以载入任何页面的容器中的内容,可以是id以及是class,并转化到html存储,要比jquery自带的的load强大。 $('').load('/page/2/ #content div.post',function(){ $(this).appendTo('#content'); });
示例
1、只要还有下一页,就会一直加载,直接加载完所有页面的文章为止
$('#content').infinitescroll({ navSelector : '#pagenav', nextSelector : '#pagenav a', itemSelector : ".picdiv", debug : false, loadingImg : "ajax-loader.gif", loadingText : "Loading new posts...", animate : false, donetext : "I think we've hit the end, Jim" },function(){}); <div id="content"> <div class="picdiv">...</div> ...... </div> <span id="pagenav" style="display:none" > <a href="index.php?page=2&show=">Next</a></span>
2、加到第10页就不再继续加载
var sp = 1 $(".infinite_scroll").infinitescroll({ navSelector: "#more", nextSelector: "#more a", itemSelector: ".item", loading:{ img: "images/masonry_loading_1.gif", msgText: ' ', finishedMsg: '木有了', finished: function(){ sp++; if(sp>=10){ //到第10页结束事件 $("#more").remove(); $("#infscr-loading").hide(); $("#page").show(); $(window).unbind('.infscr'); } } },errorCallback:function(){ $("#page").show(); } },function(newElements){ var $newElems = $(newElements); $newElems.fadeIn(); return; }); <div class="infinite_scroll"> <div class="item">...</div> ...... </div> <div id="more"><a href="p2.html"></a></div>
原文地址:https://blog.csdn.net/axer0811/article/details/8965872/
<< 上一篇
下一篇 >>