var kkpager = { pagerid : 'kkpager', //divID mode : 'link', //模式(link 或者 click) pno : 1, //当前页码 total : 1, //总页码 totalRecords : 0, //总数据条数 isShowFirstPageBtn : true, //是否显示首页按钮 isShowLastPageBtn : true, //是否显示尾页按钮 isShowPrePageBtn : true, //是否显示上一页按钮 isShowNextPageBtn : true, //是否显示下一页按钮 isShowTotalPage : true, //是否显示总页数 isShowCurrPage : true,//是否显示当前页 isShowTotalRecords : false, //是否显示总记录数 isGoPage : true, //是否显示页码跳转输入框 isWrapedPageBtns : true, //是否用span包裹住页码按钮 isWrapedInfoTextAndGoPageBtn : true, //是否用span包裹住分页信息和跳转按钮 hrefFormer : '', //链接前部 hrefLatter : '', //链接尾部 gopageWrapId : 'kkpager_gopage_wrap', gopageButtonId : 'kkpager_btn_go', gopageTextboxId : 'kkpager_btn_go_input', lang : { firstPageText : '首页', firstPageTipText : '首页', lastPageText : '尾页', lastPageTipText : '尾页', prePageText : '上一页', prePageTipText : '上一页', nextPageText : '下一页', nextPageTipText : '下一页', totalPageBeforeText : '共', totalPageAfterText : '页', currPageBeforeText : '当前第', currPageAfterText : '页', totalInfoSplitStr : '/', totalRecordsBeforeText : '共', totalRecordsAfterText : '条数据', gopageBeforeText : ' 转到', gopageButtonOkText : '确定', gopageAfterText : '页', buttonTipBeforeText : '第', buttonTipAfterText : '页' }, //链接算法(当处于link模式),参数n为页码 getLink : function(n){ //这里的算法适用于比如: //hrefFormer=http://www.65.com/news/20131212 //hrefLatter=.html //那么首页(第1页)就是http://www.65.com/news/20131212.html //第2页就是http://www.65.com/news/20131212_2.html //第n页就是http://www.65.com/news/20131212_n.html if(n == 1){ return this.hrefFormer + this.hrefLatter; } return this.hrefFormer + '_' + n + this.hrefLatter; }, //页码单击事件处理函数(当处于mode模式),参数n为页码 click : function(n){ //这里自己实现 //这里可以用this或者kkpager访问kkpager对象 return false; }, //获取href的值(当处于mode模式),参数n为页码 getHref : function(n){ //默认返回'#' return '#'; }, //跳转框得到输入焦点时 focus_gopage : function (){ var btnGo = $('#'+this.gopageButtonId); $('#'+this.gopageTextboxId).attr('hideFocus',true); btnGo.show(); btnGo.css('left','10px'); $('#'+this.gopageTextboxId).addClass('focus'); btnGo.animate({left: '+=30'}, 50); }, //跳转框失去输入焦点时 blur_gopage : function(){ var _this = this; setTimeout(function(){ var btnGo = $('#'+_this.gopageButtonId); btnGo.animate({ left: '-=25' }, 100, function(){ btnGo.hide(); $('#'+_this.gopageTextboxId).removeClass('focus'); }); },400); }, //跳转输入框按键操作 keypress_gopage : function(){ var event = arguments[0] || window.event; var code = event.keyCode || event.charCode; //delete key if(code == 8) return true; //enter key if(code == 13){ kkpager.gopage(); return false; } //copy and paste if(event.ctrlKey && (code == 99 || code == 118)) return true; //only number key if(code<48 || code>57)return false; return true; }, //跳转框页面跳转 gopage : function(){ var str_page = $('#'+this.gopageTextboxId).val(); if(isNaN(str_page)){ $('#'+this.gopageTextboxId).val(this.next); return; } var n = parseInt(str_page); if(n < 1) n = 1; if(n > this.total) n = this.total; if(this.mode == 'click'){ this._clickHandler(n); }else{ window.location = this.getLink(n); } }, //不刷新页面直接手动调用选中某一页码 selectPage : function(n){ this._config['pno'] = n; this.generPageHtml(this._config,true); }, //生成控件代码 generPageHtml : function(config,enforceInit){ /*if(enforceInit || !this.inited){ this.init(config); }*/ this.init(config); var str_first='',str_prv='',str_next='',str_last=''; if(this.isShowFirstPageBtn){ if(this.hasPrv){ str_first = ''+this.lang.firstPageText+''; }else{ str_first = ''+this.lang.firstPageText+''; } } if(this.isShowPrePageBtn){ if(this.hasPrv){ str_prv = ''+this.lang.prePageText+''; }else{ str_prv = ''+this.lang.prePageText+''; } } if(this.isShowNextPageBtn){ if(this.hasNext){ str_next = ''+this.lang.nextPageText+''; }else{ str_next = ''+this.lang.nextPageText+''; } } if(this.isShowLastPageBtn){ if(this.hasNext){ str_last = ''+this.lang.lastPageText+''; }else{ str_last = ''+this.lang.lastPageText+''; } } var str = ''; var dot = '...'; var total_info=''; var total_info_splitstr = ''+this.lang.totalInfoSplitStr+''; if(this.isShowCurrPage){ total_info += this.lang.currPageBeforeText + '' + this.pno + '' + this.lang.currPageAfterText; if(this.isShowTotalPage){ total_info += total_info_splitstr; total_info += this.lang.totalPageBeforeText + ''+this.total + '' + this.lang.totalPageAfterText; }else if(this.isShowTotalRecords){ total_info += total_info_splitstr; total_info += this.lang.totalRecordsBeforeText + ''+this.totalRecords + '' + this.lang.totalRecordsAfterText; } }else if(this.isShowTotalPage){ total_info += this.lang.totalPageBeforeText + ''+this.total + '' + this.lang.totalPageAfterText;; if(this.isShowTotalRecords){ total_info += total_info_splitstr; total_info += this.lang.totalRecordsBeforeText + ''+this.totalRecords + '' + this.lang.totalRecordsAfterText; } }else if(this.isShowTotalRecords){ total_info += this.lang.totalRecordsBeforeText + ''+this.totalRecords + '' + this.lang.totalRecordsAfterText; } total_info += ''; var gopage_info = ''; if(this.isGoPage){ gopage_info = ''+this.lang.gopageBeforeText+''+ ''+ ''+this.lang.gopageAfterText+''; } //分页处理 if(this.total <= 8){ for(var i=1;i<=this.total;i++){ if(this.pno == i){ str += ''+i+''; }else{ str += ''+i+''; } } }else{ if(this.pno <= 5){ for(var i=1;i<=7;i++){ if(this.pno == i){ str += ''+i+''; }else{ str += ''+i+''; } } str += dot; }else{ str += '1'; str += '2'; str += dot; var begin = this.pno - 2; var end = this.pno + 2; if(end > this.total){ end = this.total; begin = end - 4; if(this.pno - begin < 2){ begin = begin-1; } }else if(end + 1 == this.total){ end = this.total; } for(var i=begin;i<=end;i++){ if(this.pno == i){ str += ''+i+''; }else{ str += ''+i+''; } } if(end != this.total){ str += dot; } } } var pagerHtml = '