scroller实现滚到底部加载
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:editor 阅读 389
需求:当list滚动到末尾的时候,自动加载更多的内容。闲言碎语:其实这个问题要解决非常简单。但首先,我相信,大家不是为了简单的copy那几行代码而来的。相信看了详细的解说,大家能够真正有所收获,能够

 需求:

当list滚动到末尾的时候,自动加载更多的内容。

闲言碎语:

其实这个问题要解决非常简单。但首先,我相信,大家不是为了简单的copy那几行代码而来的。相信看了详细的解说,大家能够真正有所收获,能够举一反三。毕竟sencha touch的中文资料不多,很多问题,都是找不到现成的解决方案的,这就需要我们自己动手去解决啦。

分析:

要搞定这个问题,首先要知道跟滚动相关的一些东西。

首先,让我们认识一下ST框架里的scroller对象。

  • scroller对象

scroller在sencha touch里扮演着十分重要的角色。所有的滚动相关功能的实现,都跟它脱不了干系。

不知道大家是否有发现,sencha touch里有许多对象都有一个scroller的配置项?

 

这个配置项,就是用来为当前对象创建一个Scroller的。以Panel为例,Sencah Touch框架在构造Panel的时候,判断scroll配置项,然后根据配置项的值new出相应的scroller,并将其赋给panel。这样一来Panel就能实现了滚动功能了!

我们可以用这样的写法:panel.scroller。来获取panel的scroller对象,用它来实现各种功能。

 对于scroller比较重要的一些东西,

这是console.log(scroller)出来的东西。

offset是当前滚动条位置。

offsetBoundary表示滚动条的边界。

也就是说,我们只需要在滚动结束时,比较这两个值就行了。那么现在还缺什么?一个事件!Ok,让我们看看滚动结束事件:

 到这里,怎么实现,大家肯定比我还清楚了,5行代码搞定。 

store添加数据的方法

额。。。真的吗?好像漏了点东西。怎么添加数据呢?

恩,在这里呢。有两个呢。

可以看到,第一个参数是要添加的数据,而第二个是读取方式,决定是添加还是覆盖。

因为我要用写死的数据作示范,所以这里我用第一个来实现添加数据,大家根据格子实际获取的数据类型来作决定。

于是最终代码

很简单吧。

解决方案:

接下来就是全部代码了,大家可以自己拿去运行一下。

 

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2