您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

封装的jquery翻页滚动(示例代码)_jquery

2024/6/5 16:54:34发布29次查看
html结构:
复制代码 代码如下:
ul._rollse{width:100px;height:300px;over-flow:hidden} 
ul._rollse li._rollpar{height:100px;border:1px solid #369}
复制代码 代码如下:
1
  2
上一页    
  下一页
需标注在触发事件的按钮上.
              data-pr: cookie的前缀.
discription: 一次性读取几条数据, 只显示几条, 滚动翻页(一次性滚3条或n条) ; 此方法只需在所需事件滚动效果的html元素标注以上规定class便可使用.
js初始化方法:
复制代码 代码如下:
/**************************************************************************
 discription: 翻页滚动
***************************************************************************/
//插件引入
document.write('');
//函数初始化
$(function(){
 /*
  author: teresa 2011-03-24 14:32:42
  discription: strollto init
 */
 //滚动初始显示
 _scroll.init(); 
 //上滚
 $('._scrollprev').live('click',function(){
  _scroll.prev(this);
  return false;
 });
 //下滚
 $('._scrollnext').live('click',function(){
  _scroll.next(this);
  return false;
 });
});
/*
 author: teresa
 update_time: 2011-03-24 14:52:34
 discription: 分页滚动
*/
var _scroll = {
 //滚动cookie
 config:{
  ckname : 'lifedu_rollcur',
  ckoptions : {
   expires : 3, // in days
   path : '/'
  }
 },
//初始化
 init:function(){
  var roll = $('._rollparent');
  for (i=0;i  {
   var cookiename = roll.eq(i).find('._scrollnext').attr('data-pr')+_lifedu_rollcur;
   var ostr = $.cookie(_scroll.config.ckname) || '{}';  
   var json = eval('('+ostr+')');
   var cur =  0;
   var page =  0;
   var rollpar = roll.eq(i).find('._rollpar');
   roll.eq(i).find('._scrollprev').addclass('disabled');
   roll.eq(i).find('._rollse').scrollto(rollpar.eq(cur),50);
   roll.eq(i).find('._rollpagese').find('_rollpage').removeclass('ac').eq(page).addclass('ac');
   //cookie
    json.cur = cur;
    json.page = page;
   var data = jsontostr(json);
   $.cookie(cookiename,data,_scroll.config.ckoptions);
  }
 },
_p : {},
 //预处理
 _pre:function(o){
  _scroll.config.ckname = $(o).attr('data-pr') +_lifedu_rollcur;
  _scroll._p.rollfrequency = parseint($(o).attr('data-frequency'));
  _scroll._p.rollse = $(o).parents('._rollparent').find('._rollse');   //滚动区域
  _scroll._p.rollpar = _scroll._p.rollse.find('._rollpar');  
  _scroll._p.rlen = _scroll._p.rollpar.length;
  //页码区域
  _scroll._p.rollpagese = $(o).parents('._rollparent').find('._rollpagese');
  _scroll._p.rollpagelen = _scroll._p.rollpagese.find('._rollpage').length;
 },
//下滚
 next:function(o){
  _scroll._pre(o);
  var ostr = $.cookie(_scroll.config.ckname) || '{}';  
  var json = eval('('+ostr+')');
  var last = _scroll._p.rlen - 1;
  var n = _scroll._p.rollfrequency;
  var cur = parseint(json.cur) || 0 ;  //当前滚动元素索引
  var page = parseint(json.page) || 0 ; //当前页码
  if(cur+n    cur += n;
   page++;
  }else if(cur == last){   
   return;
  }else{
   cur = last; 
   page = _scroll._p.rollpagelen - 1;
  }
  //if last page addclass 'disabled';
  $(o).parents('._rollparent').find('._scrollprev').removeclass('disabled');
  if(page == _scroll._p.rollpagelen - 1) {
   $(o).addclass('disabled');
  }else {   
   $(o).removeclass('disabled');
  }
  //scroll
  _scroll._p.rollse.scrollto(_scroll._p.rollpar.eq(cur),500);
  _scroll.gopage(page);
   //写入cookie
   json.cur = cur;
   json.page = page;
  var data = jsontostr(json);
  $.cookie(_scroll.config.ckname,data,_scroll.config.ckoptions);
 },
//上滚
 prev:function(o){
  //lg('prev');
  _scroll._pre(o);
  var ostr = $.cookie(_scroll.config.ckname) || '{}';  
  var json = eval('('+ostr+')');
  var cur = parseint(json.cur) || 0 ;  //当前滚动元素索引
  var page = parseint(json.page) || 0 ; //当前页码
  var n = _scroll._p.rollfrequency;
if(cur-n > 0){
   if(cur == _scroll._p.rlen - 1){
    cur -= 2*n-1;
   }else {
    cur -= n;
   }
   if(cur    page--;
}else if(cur == 0){   
   return;
  }else {
   cur = 0;
   page = 0;
  }
  //if first page addclass 'disabled';
  $(o).parents('._rollparent').find('._scrollnext').removeclass('disabled');
  if(page == 0) {   
   $(o).addclass('disabled');
  } else {  
   $(o).removeclass('disabled');
  }
  //scroll
  _scroll._p.rollse.scrollto(_scroll._p.rollpar.eq(cur),500);
  _scroll.gopage(page);
  //写入cookie
   json.cur = cur;
   json.page = page;
  var data = jsontostr(json);
  $.cookie(_scroll.config.ckname,data,_scroll.config.ckoptions);
 },
 gopage : function(p){
  //lg(p);
  if(_scroll._p.rollpagese.length != 0){
   _scroll._p.rollpagese.find('._rollpage').removeclass('ac').eq(p).addclass('ac');
  } 
 }
}
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product