$(function() {
function showMsg(infoString) {
// 发送警告的提示框(置顶)
$.sendWarningToTop(infoString, 3000, function() {});
}
$.fn.fPage = function(options) {
var defaultList = {
currPage: 1, //当前页码
perPage: 6, //每页的数量
totalPage: 0,
totalRecords: 0,
homeBtn: "",
perBtn: "<",
nextBtn: ">",
lastBtn: ""
};
var parentObj = this;
var setting = $.extend({}, defaultList, options); //这里是参数的替换
//得到这个对象的所有li子对象
var liObjs = parentObj.children("li"); //this.find("li") //都可以获取他的所有选定的子对象 li
setting.totalRecords = liObjs.length; //总的记录数
setting.totalPage = Math.ceil(setting.totalRecords / setting.perPage); // 得到总的页数;
//如果记录数不够不显示分页
if (setting.totalRecords <= setting.perPage) {
return false;
}
$(document).on("click", "#goLast", function() {
//在document上制作监听程序就可以了
setting.currPage = setting.totalPage;
parentObj.children("li").hide();
parentObj
.children(
"li:gt(" + ((setting.totalPage - 1) * setting.perPage - 1) + ")"
)
.show();
addStyle(setting.currPage);
});
$(document).on("click", "#goHome", function() {
//这是显示首页
setting.currPage = 1;
parentObj.children("li").show();
parentObj.children("li:gt(" + (1 * setting.perPage - 1) + ")").hide();
addStyle(setting.currPage);
});
$(document).on("click", "#goPrePage", function() {
//这是显示上一页
//首页判断是否为第一页
if (setting.currPage > 1) {
setting.currPage--;
stepShow();
addStyle(setting.currPage);
} else {
showMsg("已经是首页");
}
});
$(document).on("click", "#goNext", function() {
//这是显示上一页
//首页判断是否为第一页
if (setting.currPage < setting.totalPage) {
setting.currPage++;
stepShow();
addStyle(setting.currPage);
console.log($(".gopage").length);
} else {
showMsg("已经是末页");
}
});
//监听a的点击操作
$(document).on("click", ".gopage", function(e) {
var num = Number($(this).attr("data-number")); //转成数字
setting.currPage = num;
addStyle(setting.currPage);
stepShow();
});
function showPage() {
let str11 = "";
let str12 = "";
let str2 = "";
for (var i = 0; i < setting.totalPage; i++) {
str2 += `<a class="gopage" data-number="${i +
1}" href="javascript:;">${i + 1}</a> `;
}
parentObj.children("li:gt(5)").hide();
if (setting.homeBtn) {
str11 += `<a href="javascript:;" id="goHome">${setting.homeBtn}</a>`;
}
if (setting.perBtn) {
str11 += ` <a href="javascript:;" id="goPrePage">${setting.perBtn}</a>`;
}
if (setting.nextBtn) {
str12 += ` <a href="javascript:;" id="goNext">${setting.nextBtn}</a>`;
}
if (setting.lastBtn) {
str12 += ` <a href="javascript:;" id="goLast">${setting.lastBtn}</a>`;
}
str11 = str11 + str2 + str12;
parentObj.after("<p id='fpage'>" + str11 + "</p>");
addStyle(setting.currPage);
}
function stepShow() {
var max = setting.currPage * setting.perPage - 1;
var min = max - setting.perPage + 1;
parentObj.children("li").show();
parentObj.children("li:gt(" + max + ")").hide();
parentObj.find("li:lt(" + min + ")").hide();
}
function addStyle(num) {
var objList = $(".gopage");
objList.each(function() {
$(this).removeClass("on");
});
objList.eq(num - 1).addClass("on");
}
showPage();
if (parentObj.length > 1) {
parentObj.each(function() {
return $(this);
});
} else {
return parentObj;
}
console.log(this);
};
});