/*分页插件*/
var Pagination = {
showPageCount: 7,
init: function (obj, callback,topFlag) {
this.bindListener(obj, callback,topFlag);
},
createHtml: function (pageIndex, recordCount, pageSize) {
var pageCount = Math.ceil(recordCount / pageSize); //总页数
var showPageCount = this.showPageCount;
var MaxCount = 10000000000;
var HalfPageCount = (showPageCount + 1) / 2;
var html = [];
if (pageCount > MaxCount) {
pageCount = MaxCount;
}
if (pageIndex > pageCount - 1) {
pageIndex = pageCount - 1;
}
html.push("<span class=\"total\">共" + recordCount + "条</span>");
if (pageIndex > 0) {
html.push("<span class=\"previous\"><a href=\"javascript:;\" page= " + (pageIndex - 1) + " data-rec=\"上一页\"></a></span>");
}
else {
html.push("<span class=\"disable previous\"></span>");
}
if (pageCount <= showPageCount) {
for (var i = 0; i < pageCount; i++) {
if (pageIndex == i) {
html.push("<span class=\"current num\">" + (i + 1) + "</span>");
}
else {
html.push("<span class=\"num\"><a href=\"javascript:;\" page=" + i + ">" + (i + 1) + "</a></span>");
}
}
}
else if (pageIndex < HalfPageCount) {
for (var i = 0; i < showPageCount - 1; i++) {
if (pageIndex == i) {
html.push("<span class=\"current num\">" + (i + 1) + "</span>");
}
else {
html.push("<span class=\"num\"><a href=\"javascript:;\" page=" + i + ">" + (i + 1) + "</a></span>");
}
}
html.push("<span class=\"dots\">...</span>");
html.push("<span class=\"num\"><a href=\"javascript:;\" page=" + (pageCount - 1) + ">" + pageCount + "</a></span>");
}
else if (pageIndex >= pageCount - HalfPageCount - 1) {
html.push("<span class=\"num\"><a href=\"javascript:;\" page='0'>" + 1 + "</a></span>");
html.push("<span class=\"dots\">...</span>");
for (var i = pageCount - showPageCount + 1; i < pageCount; i++) {
if (pageIndex == i) {
html.push("<span class=\"current num\">" + (i + 1) + "</span>");
}
else {
html.push("<span class=\"num\"><a href=\"javascript:;\" page=" + i + ">" + (i + 1) + "</a></span>");
}
}
}
else {
html.push("<span class=\"num\"><a href=\"javascript:;\" page=0>" + 1 + "</a></span>");
html.push("<span class=\"dots\">...</span>");
for (var i = pageIndex - HalfPageCount / 2; i <= pageIndex + HalfPageCount / 2; i++) {
if (pageIndex == i) {
html.push("<span class=\"current num\">" + (i + 1) + "</span>");
}
else {
html.push("<span class=\"num\"><a href=\"javascript:;\" page=" + i + ">" + (i + 1) + "</a></span>");
}
}
html.push("<span class=\"dots\">...</span>");
html.push("<span class=\"num\"><a href=\"javascript:;\" page =" + (pageCount - 1) + ">" + pageCount + "</a></span>");
}
if (pageIndex < pageCount - 1) {
html.push("<span class=\"next\"><a href=\"javascript:;\" page=" + (pageIndex + 1) + " data-rec=\"下一页\"></a></span>");
}
else {
html.push("<span class=\"disable next\"></span>");
}
// html.push("<span class=\"total\">每页" + pageSize + "条</span>");
html.push("<span class=\"total total_page\">共" + pageCount + "页</span>");
html.push("<span class=\"page_jump\">到</span><input id='pageInput' class='pageInput' oldpage='' maxlength='" + pageCount + "' type='text' ><span class=\"page_jump\">页</span><button type='button' id='pagebtn' class='pagebtn'>确定</button>");
// html.push("<script>pagination(" + pageCount + ",$('#pageInput'), $('#pagebtn'));</script>");
return html.join("");
},
bindListener: function (obj, callback,topFlag) {
var topFlag = topFlag || true;
obj.on("click", "a", function () {
if (typeof callback === "function") {
var index = $(this).attr("page");
callback(parseInt(index));
}
if(topFlag){
$(window).scrollTop(0);
}
return false;
});
obj.on("click", "button", function () {
var pageInput = obj.find('input');
if (typeof callback === "function") {
var index = pageInput.val();
if (index == '') {
pageInput.focus();
return false;
// index = 1;
}
callback(parseInt(index) - 1);
}
return false;
});
// var pageButton = $("#pageButton");
obj.on("keyup", "input", function (e) {
switch (e.keyCode) {
case 37:
break;
case 38:
break;
case 39:
break;
case 40:
break;
case 13:
changePage();
break;
case 8:
$(e.target).attr('oldpage', $(e.target).val());
break;
case 46:
$(e.target).attr('oldpage', $(e.target).val());
break;
default :
validPage();
}
return false;
});
//分页
function changePage() {
var pageInput = obj.find('input');
var page = pageInput.val();
var maxPage = parseInt(obj.find(".total_page").html().substring(1));
var pattern = new RegExp("^[1-9]\\d{0," + maxPage.toString().length + "}$");
if (page.trim() == "") {
pageInput.focus();
return;
}
if (pattern.test(page)) {
page = parseInt(page);
maxPage = parseInt(maxPage);
if (page > maxPage || page < 0) {
pageInput.val("").focus();
return;
}
} else {
pageInput.val("").focus();
return;
}
callback(parseInt(page) - 1);
}
//页码校验v2
function validPage() {
var pageInput = obj.find('input');
var totalPageHtml = obj.find(".total_page").html();
var maxPage = parseInt(totalPageHtml.substring(1, totalPageHtml.length - 1));
var page = pageInput.val();
var pattern = /^[0-9]+$/;
var oldpage = pageInput.attr("oldpage") || '';
if (page.trim() == "") {
pageInput.val("");
return;
}
if (!pattern.test(page)) {
pageInput.val(oldpage);
return;
}
var pageInt = parseInt(page);
if (page.substr(0, 1) == '0') {
pageInput.val(pageInt);
}
if (pageInt == 0) {
pageInput.val('');
return;
}
if (pageInt > parseInt(maxPage)) {
pageInput.val(page.substr(0, page.length - 1));
return;
}
pageInput.attr('oldpage',

荆瑶
- 粉丝: 0
最新资源
- 我国信息化建设中的四大瓶颈和五个阶段为什么研究生不去四大.doc
- 软件介质领用登记表.docx
- CTP C Java Python Matlab R_对上期CTP接口进行二次封装,各种资金,持仓,成交回报和委托回报的
- 计算机软件技术中分层技术探析的论文.doc
- 计算机培训实习心得体会.doc
- 2020年机械制造与自动化专业实习报告.doc
- 来自daylightsolutions.com的MIRcat激光器API的Matab.mex包装器_Matlab .me
- EJDB Matlab绑定_EJDB Matlab binding.zip
- kernel-5.10.0-224.0.0.123.oe2203sp4.x86-64.rpm
- 网上人生网络心理和大学生心理健康课件.ppt
- 苏州工业园区星湖学校网络与信息安全知识竞赛.docx
- 信息网络中心员工绩效考核管理办法.doc
- 计算机专业求职自荐信-大学生计算机求职自荐信(4篇).docx
- 外研版教材必修一Unit3FamilymattersPeriod1Presentingideas(共.ppt
- 用于圆值数据的快速中值滤波器,例如描述相位或方向的信号或图像_Fast median filter for circle
- 将全景球体转换为自顶向下视图。这是肖建雄在MATLAB中实现全景三维几何的C语言实现。_Convert panorami
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


