$(function(){
$(".pagination").pagination({
pageSize : 12,
pageNum : 4
});
});
/*
pagination 0.91 分页插件已实现图片延时加载
Copyright (c) 2014 ZhibinPu
Date: 2014-11-13
jquery-1.12.4.min.js
*/
(function($){
$.fn.pagination = function(options){
var defaults = {
pageSize : 12, //每页几条
pageNum : 4 //页码显示个数,使用双数
}
var options = $.extend(defaults, options);
var $this = this; //整个列表对象
var $row = $this.find("li"); //数据行对象
var pageSize = options.pageSize; //每页条数
var pageNow = 1; //当前页码
var rowCount = $row.length; //数据总条数
var pageCount = Math.ceil(rowCount/pageSize); //总页数
var pageNum = options.pageNum; //页码显示个数
var startItem = (pageNow-1)*pageSize; //数据显示开始处
var endItem = startItem+pageSize; //数据显示结束处
var pageNoStart; //页码开始处
var pageNoEnd; //页码结束处
var imgSrc = new Array(); //存储图片路径
for(i=0; i<$row.length; i++){
imgSrc[i] = $row.eq(i).find("img").attr("src");
}
init(); //初始化
//初始化
function init(){
//显示分页项目
showItem();
//设置页码开始结尾
setPageStartEnd();
//写入导航加载页码
$this.after("
");
showFirstPage();
showPageNum();
showLastPage();
//加载点击事件
clickPageNo();
//加载页面跳转
showPageJump();
//加载页面统计
showStatistics();
//加载每页记录数选择
showPageSizeSet();
//数据测试
console.log("startItem = "+startItem);
console.log("endItem = "+endItem);
console.log("pageNoStart = "+pageNoStart);
console.log("pageNoEnd = "+pageNoEnd);
console.log("pageNow = "+pageNow);
console.log("pageNum = "+pageNum);
console.log("pageCount = "+pageCount);
console.log("imgSrc = "+imgSrc);
}
//显示当前页数据
function showItem(){
startItem = (pageNow-1)*pageSize;
endItem = startItem + pageSize;
$row.find("img").attr("src", "");
$row.hide();
for(i=0; i<$row.length; i++){
if(i>=startItem && i pageCount ? pageCount : pageNoStart+pageNum;
return;
}
if(pageNoEnd > pageCount){
pageNoEnd = pageCount;
pageNoStart = pageNoEnd-pageNum < 1 ? 1 : pageNoEnd-pageNum;
return;
}
}
//显示页码
function showPageNum(){
if(pageCount <= 1){
return;
}
$(".pageNav").append(function(){
var str = "";
for(i=pageNoStart; i<=pageNoEnd; i++){
if(i==pageNow){
str += ""+i+"";
}else{
str += ""+i+"";
}
}
return str;
});
}
//显示首页
function showFirstPage(){
if(pageNoStart<2){
return;
}
if(pageNow - pageNum/2 == 2 ){
$(".pageNav").append("1");
return;
}
$(".pageNav").append("1 ... ");
}
//显示尾页
function showLastPage(){
if(pageNoEnd > pageCount - 1){
return;
}
if( parseInt(pageNow) + parseInt(pageNum)/2 == (pageCount - 1) ){
$(".pageNav").append(""+pageCount+"");
return;
}
$(".pageNav").append(" ... "+pageCount+"");
}
//点击页码动作
function clickPageNo(){
$(".pageNav span").click(function(){
//设置当前页
if( $(this).text() == "首页" ){
pageNow = 1;
}else if( $(this).text() == "尾页" ){
pageNow = pageCount;
}else{
pageNow = $(this).text();
}
//重新初始化
$(".pageNav").remove();
init();
});
}
//页面统计
function showStatistics(){
$(".pageNav").append(" | 当前第"+pageNow+"页/共"+pageCount+"页/共"+rowCount+"条记录");
}
//直接跳转
function showPageJump(){
if(pageCount <= 1){
return;
}
$(".pageNav").append(function(){
var str = " | 跳转到:"
return str;
});
$(".pageSelect").change(function () {
$(this).find("option:selected").each(function () {
pageNow = $(this).val();
});
//重新初始化
$(".pageNav").remove();
init();
})
}
//选择每页几条
function showPageSizeSet(){
var arr = new Array(12,24);
$(".pageNav").append(function(){
var str = " | 每页条记录"
return str;
});
$(".pageSizeSelect").change(function () {
$(this).find("option:selected").each(function () {
pageSize = parseInt($(this).val());
});
//重新设置以下参数
pageNow = 1;
pageCount = Math.ceil(rowCount/pageSize); //总页数
startItem = (pageNow-1)*pageSize; //数据显示开始处
endItem = startItem+pageSize; //数据显示结束处
//重新初始化
$(".pageNav").remove();
init();
})
}
};
})(jQuery);