/** * 系统分页模块 */ paginationSys = { pageStyle : { firstClass : 'first', //首页链接样式 lastClass : 'last', //末页链接样式 prevClass : 'prev', //上一页链接样式 nextClass : 'next', //下一页链接样式 currentClass : 'current', //当前页链接样式 nocurrentClass : 'no_current', //非当前页链接样式 firstAndLastLink : true //是否显示首页末页链接 }, /** * dest : 装载分页容器 $对象 * pageCount : 页总记录数 * pageNo : 当前页数 第一页下标为 0 , 以此类推 * cb : 分页完成后回调函数 * pageBar : TRUE OR FLASE 是否需要指定跳转功能 * preNum : 中心页前显示页数 * allNum :总显示页数 */ turnPage : function(dest , pageCount , pageNo , cb , pageBar , preNum , allNum){ if(!preNum) //preNum = 4; preNum = 2; if(!allNum) //allNum = 8; allNum = 4; if(pageCount <= pageNo){ if(pageCount == 0 || pageNo < 0){ dest.html('
暂无数据
'); }else{ cb(pageNo - 1); } return false; } var page = ''; var pageNo = pageNo; dest.html(''); if(pageCount > 1){ if(pageNo > 0){ if(paginationSys.pageStyle.firstAndLastLink){ page += '<<首页'; } page += '<上一页'; } var _sidx = (pageNo - preNum >= 0 ? (pageNo - preNum) : 0); var _eidx = ((_sidx + allNum) < pageCount ? (_sidx + allNum) : (pageCount-1)); if((_eidx - _sidx) < allNum ){ _sidx = _eidx - allNum; if(_sidx < 0){ _sidx = 0; } } for(var i= _sidx; i <= _eidx; i++){ if(i == pageNo){ page += ''+(i+1)+''; }else{ page += ''+(i+1)+''; } } if(pageNo < (pageCount-1)){ page += '下一页>'; if(paginationSys.pageStyle.firstAndLastLink){ page += '末页>>'; } } if(pageBar){ page+='共'+pageCount+'页 到第 '; } } dest.html(page); if(page){ paginationSys.bindBtn(dest , pageNo , cb , pageCount); } }, bindBtn : function(dest , pageNo , cb , pageCount){ dest.find('.first').click(function(){ cb(0); }); dest.find('.prev').click(function(){ cb(pageNo - 1); }); dest.find('.next').click(function(){ cb(pageNo + 1); }); dest.find('.last').click(function(){ cb(pageCount - 1); }); dest.find('.no_current').click(function(e){ var _cell = $(e.target); var value = parseInt(_cell.attr("pageIndex")); cb(value - 1); }); /** * 判断输入框中是否有值 : * 1 : 合法的数字,判断是否为>1 , < pageCount , 如果满足不处理 , 否则默认1 * 2 : 非合法数据,直接赋值'' * * 判断当前的键盘时间,如果为回车,调用查询回调动作。 */ dest.find('.pageBarText').keyup(function(e){ var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode; var _val = $(this).val(); if(keyCode == 13 && _val != "" && !isNaN(_val)){ cb(_val - 1); }else{ $(this).val(_val.replace(/\D/g,''));//移除非数字 if(_val==0 || _val<=0){ $(this).val(''); }else if(_val>pageCount){ $(this).val(pageCount); }else if(_val<=pageCount && _val>0){ }else{ $(this).val(''); } } }); dest.find('#paginationGo').click(function(){ var _val = dest.find('.pageBarText').val(); if(_val != "" && !isNaN(_val)){ cb(_val - 1); } }); } };