iscroll5实现下拉加载更多

1 下载最新的iscroll5,本文版本是5.1.3

2 提取iscroll-probe.js,选择这个文件的原因是我们要给iscroll扩展一个事件,需要用到probeType 属性

3 修改iscroll-probe.js的源码,添加上拉监听事件slideUp (
iscroll 5 源码注释  http://www.ghugo.com/iscroll-5-source/)

4 编辑页面

Html:

"<div id='lookupScrollerWrapper'>"+
	"<div>"+
		"<div>"+
			"<ul data-role='listview' id='assListId0000'></ul>"+
		"</div>"+
		"<div id='lookupScrollerPullUp' style='display:none'>"+
			"<span>上拉加载更多</span>"+
		"</div>"+
	"</div>"+
"</div>"

css:

#lookupScrollerWrapper {
	position: absolute;
	top: 54px;
	bottom: 0px;
	width: 100%;
	overflow: hidden;
}

#lookupScrollerPullUp {
    height: 40px;
    line-height: 40px;
    font-size: 12px;
    font-weight: bold;
    color: grey;
    text-shadow: none;
	text-align:center;
	position:absolute;
	width:100%;
	bottom:-40px;
}

js:

lookupScroll = new IScroll('#lookupScrollerWrapper', { probeType: 3, mouseWheel: true, click: true });
		
lookupScroll.on("scroll", function() {
	if(this.maxScrollY - this.y >= 40){
		$("#lookupScrollerPullUp").css("display", "");
	}
});

lookupScroll.on("slideUp", function() {
	if(this.maxScrollY - this.y >= 40) {
		this.scrollTo(0, this.maxScrollY-47, 3000, IScroll.utils.ease.back);
		$(this)._associateKey();
	}
});

 $('#lookupScrollerWrapper').on('touchmove', function(){
	if(lookupScroll.maxScrollY - lookupScroll.y >= 40){
		$('#lookupScrollerPullUp').html("释放加载更多");
	} 
 });

 $('#lookupScrollerWrapper').on('touchend', function(){
	if(lookupScroll.maxScrollY - lookupScroll.y >= 40){
		$('#lookupScrollerPullUp').html("正在加载..");
	} else {
		$('#lookupScrollerPullUp').html("上拉加载更多");
	}
 });

6 如果页面是动态编辑的,则要调用刷新的代码,否则页面不会滚动

lookupScroll.refresh();

 

posted @ 2015-09-24 15:22  Jager  阅读(2801)  评论(0编辑  收藏  举报