iscroll5实现下拉加载更多

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

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

3 修改iscroll-probe.js的源码,添加上拉监听事件slideUp

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();

时间: 2024-11-09 15:20:25

iscroll5实现下拉加载更多的相关文章

iscroll.js实现上拉刷新,下拉加载更多,应用技巧项目实战

上拉刷新,下拉加载更多...仿原生的效果----iscroll是一款做滚动效果的插件,具体介绍我就不废话,看官方文档,我只写下我项目开发的一些用到的用法: (如果不好使,调试你的css,想必是个很蛋疼的问题,给点提示 :#wrapper,以及#scroller-content要注意) html如下: <div class="viewport"> <div id="wrapper" class="wrapper"> <

下拉加载更多DEMO(js实现)

项目的一个前端页面展示已购买商品时,要求能下拉加载更多.花了点时间研究这个功能,以前没做过. 首先需要给div加scroll事件,监听滚动条滚动动作.那何时触发加载动作呢?当滚动条滚到底的时候.如何判断滚动条滚到底呢? 当滚动条的高度加上滚动条到div顶部的高度等于div的可滚动高度时,说明滚动条到底部了.公式如下. [javascript] view plain copy this.scrollHeight <= $(this).scrollTop() + $(this).height() 给

安卓,采用最简单易懂的方式实现上拉刷新下拉加载更多

<!-- Description:上拉刷新,下拉加载更多是现在最流行的手势操作,但是对于初学者来说,在实现上是有一定难度的, 网上很多教程讲的都过于复杂,对于初学者无法起到引导作用,特此写本文,帮助安卓新手入门理解此, 还有最为重要的一点:本文只帮助你理解,并不是想你成为代码搬运工!别被那么多代码吓到了, 其中很多都是注释,仔细看注释对你理解有很大的帮助 Author:Booker L Date:2014-05-16 --> 一,事先准备: 实现该功能,最基本的需要两个东西,一个是OnTouc

jQuery手机端上拉刷新下拉加载更多页面

<!doctype html> <html> <head> <title>jquery 手机端上拉刷新下拉加载更多页面</title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <meta name="viewpost" content="width=device-wi

Windows Phone 8.1开发:如何让ListView下拉加载更多?

Windows Phone 8.1开发中使用ListView作为数据呈现载体时,经常需要一个下拉(拇指向上滑动)加载更多的交互操作.如何完成这一操作呢?下面为您阐述. 思路是这样的: 1.在ListView的loaded事件中,获取ListView中的ScrollView对象. 如何获得ScrollViewer,这篇文章说的很清楚! Windows Phone 8.1开发:如何从ListView中,获取ScrollViewer对象 2. 给ScrollViewer创建事件,上篇文章也说了. 3.

ASP.NET仿新浪微博下拉加载更多数据瀑布流效果

闲来无事,琢磨着写点东西.貌似页面下拉加载数据,瀑布流的效果很火,各个网站都能见到各式各样的展示效果,原理大同小异.于是乎,决定自己写一写这个效果,希望能给比我还菜的菜鸟们一点参考价值. 在开始之前,先把实现的基本原理说一下.当夜幕下拉到底部的时候,js可以判断滚动条的位置,到达底部触发js方法,执行jquery的ajax方法,向后台一般处理程序夜幕ashx文件请求数据源,得到json格式的数据源.然后,遍历json数据源,拼接一个li标签,再填充到页面上去. 首先,我们来做个简单的html页面

平滑的下拉加载更多数据

平滑的下拉加载更多地数据,例如下拉加载更多聊天记录,只要重写UITableView的setContentSize方法就可以实现. - (void)setContentSize:(CGSize)contentSize { if (!CGSizeEqualToSize(self.contentSize, CGSizeZero)) { if (contentSize.height > self.contentSize.height) { CGPoint offset = self.contentOff

H5页面下拉加载更多(实用版)

近期在做一个H5网站,需要下拉加载更多产品列表的功能.百度搜索了好久,什么说法都有,什么插件都有.   醉了.基本上每一个能直接拿来用的. 最后发现: 1.dropload.js 插件  还可以,但是有个问题,只能单页使用比较方便.带有tab标签的不推荐使用. 2.自己百度了半天总结出来的一套: <script> document.addEventListener('scroll', watchScroll); var itemIndex = 0; var classid = 10; var

常见开发需求之angular下拉加载更多

需求   移动端使用angular实现下拉加载更多的条目,这个需求比较常见,网上的插件改动起来比较麻烦,不如自己写一个最适合,以前有同事写了一个,bug太多,后来改分页了,我们产品说什么都让做,么办法,只能自己动手写一下,我的思路就是当页面第一次加载的时候我们先固定请求一部分数据进行显示,之后使用js探测垂直滚动条的滚动距离,当页面即将触底的时候发送第n+1请求,为防止在请求过程中重复请求加入了截流判断,其次在请求过程中页面最底部出现加载等待动画.如图所示 指令实现 // isBottom为防止