sench touch list 分页滑动

不顺畅的原因其实是元素太多,必需限制显示的数据,但又要解决上滚和下滚显示相应的项,有人会想到用分页,其实分页相当的麻烦,下面就说一个鄙人奋战了一天摸索出来的方法,仅仅三步,几行代码,你看了也会会心一笑.

  1. 1.  me.pageNum = 1;//当前页 
  2.         me.pageItems = Ext.is.Phone?15:25;//每页显示项 
  3.         me.list.scroller.on('scrollend',me.onScrollerEnd,me);//监听滚动停止事件 
  1. 2.  onScrollerEnd : function(scroller,offsets){//分页逻辑  
  2.         var me = this,  
  3.             lh = scroller.size.height,  
  4.             h  = me.list.getHeight(),  
  5.             y  = offsets.y;  
  6.         if(me.filterValue && me.filterValue!=''){return;}  
  7.         if(y==0){//滚动到顶部时显示上一页  
  8.             if((me.pageNum>1)){  
  9.                 me.pageNum--;  
  10.                 me.doPaging ();  
  11.             }  
  12.         }else if((y+h)>=lh){//滚动显底部时显示下一页  
  13.             var c = me.listStore.getCount();  
  14.             if(c > (me.pageNum*me.pageItems)){  
  15.                 me.pageNum++;  
  16.                 me.doPaging ();  
  17.             }  
  18.         }  
  19.     },  

 

  1. 3.      
  2.     doPaging : function(){//分页逻辑  
  3.        var me = this,  
  4.         n = me.pageNum,  
  5.         y = me.pageItems;  
  6.         me.helpStore.removeAll();//清除所有数据  
  7.         me.helpStore.add(me.listStore.getRange((n-1)*y, (n*y)));//取主store里的范围     
  8.         me.list.bindStore(me.helpStore);//绑定到当前list里  
  9.         me.list.scroller.scrollTo({x: 0, y:0}, false);//滚动到顶部  
  10.     },//end function doPaging  

猜你喜欢

转载自firepix.iteye.com/blog/1948805