$(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);