jquery.infinitescroll.min.js
jquery
和infinitescroll
引入到你想要无限滚动加载的页面。
//注意文件的路径
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.infinitescroll.min.js"></script>
<!--tasks是最外层的元素,所有加载的内容都会放在这个元素内-->
<div id='tasks' style="overflow-y: auto;">
<!--这是显示的每个条目的内容,保证都有一个共同的class属性,不必是item-->
<div class="item">条目1</div>
<div class="item">条目2</div>
......
<div class="item">条目n</div>
<!--在最后,要加上一个导航,每次滚到底部,就会触发这个url去加载数据-->
<div id="navigation">
<a href="loadmore?page=2" ></a>
</div>
</div>
$("#tasks").infinitescroll({
navSelector : "#navigation", //页面分页元素--成功后自动隐藏
nextSelector : "#navigation a",
itemSelector : ".item",
animate : true,
debug : false, //调试的时候,可以打开
maxPage : 100, //加载次数
extraScrollPx : 200,
loading: {
msgText:"",
finished: function(){
//加载完成后执行
},
finishedMsg: '',//最后加载完成后的提示语
},
behavior: 'local',
binder: $('#tasks')
});
这里,是绑定的$('#tasks')
这个对象,也就是说,在这个元素内进行滚动无限加载。如果是整个页面滚动,就要绑定window这个对象。官方文档是这么说的:
To scroll inside an element having overflow, use the local behavior.
$('.selector').infinitescroll({
behavior: 'local',
binder: $('.selector'),
// scroll on this element rather than on the window
// other options
});
注意的是,要想在某一元素内滚动,必须为该元素设置overflow样式属性。这是最简单的配置参数,Infinite Scroll
提供了非常多的回调以及监控函数。
$('.selector').infinitescroll({
loading: {//加载时的配置
finished: undefined,//每次加载完成后执行,可以自定义function
finishedMsg: "加载完成",//加载完成后的提示语,可以为空
img: null,//自定义loadding的动画图
msg: null,
msgText: "正在加载",//加载时的提示语
selector: null,
speed: 'fast',
start: undefined
},
state: {
isDuringAjax: false,
isInvalidPage: false,
isDestroyed: false,
isDone: false, // For when it goes all the way through the archive.
isPaused: false,
currPage: 1
},
behavior: undefined,
binder: $(window), // 在哪个元素内滚动
nextSelector: "div.navigation a:first",
navSelector: "div.navigation",
contentSelector: null, // rename to pageFragment
extraScrollPx: 150,
itemSelector: "div.post",
animate: false,//加载完毕是否采用动态效果
pathParse: undefined,
dataType: 'html',
appendCallback: true,
bufferPx: 40,
errorCallback: function () { },
infid: 0, //Instance ID
pixelsFromNavToBottom: undefined,
path: undefined, // Can either be an array of URL parts (e.g. ["/page/", "/"]) or a function that accepts the page number and returns a URL
maxPage:undefined // to manually control maximum page (when maxPage is undefined, maximum page limitation is not work)
});
$("#nav-a").attr("href","loadmore?page=2&keyword=哈哈")
下载地址:
https://github.com/metafizzy/infinite-scroll
上一篇:jquery ias插件实现滚动分页(加载更多效果)
下一篇:静态网页统计浏览次数