分页功能在项目中时常用到, 在前段时间的工作中使用到一款pagination分页插件,在此做以下总结:
(一) 具体使用方法:
1. 引入相关的JS及CSS文件
<link rel="stylesheet" href="pagination.css" />
<script src="jquery.pagination.js"></script>
2. 引入一个div标签:
<div class="M-box"></div>
3.引入一段JS代码:
// 当前页
var pagenow = 1;
//总页数
var pageall = 0;
function loadPages(pageall) {
$('.M-box').pagination({
pageCount: pageall,
jump: true,
coping: true,
current: pagenow,
homePage: '首页',
endPage: '末页',
prevContent: '上页',
nextContent: '下页',
callback: function(p) {
pagenow = p.getCurrent();
//回调逻辑
}
});
}
(二) 核心方法分析:
$('.M-box').pagination({option})
option的参数如下:
pageCount 9 总页数
totalData 0 数据总条数
current 1 当前第几页
showData 0 每页显示的条数
prevCls 'prev' 上一页class
nextCls 'next' 下一页class
prevContent '<' 上一页节点内容
nextContent '>' 下一页节点内容
activeCls 'active' 当前页选中状态class名
count 3 当前选中页前后页数
coping false 是否开启首页和末页,值为boolean
isHide false 总页数为0或1时隐藏分页控件
keepShowPN false 是否一直显示上一页下一页
homePage '' 首页节点内容,默认为空
endPage '' 尾页节点内容,默认为空
jump false 是否开启跳转到指定页数,值为boolean类型
jumpIptCls 'jump-ipt' 文本框内容
jumpBtnCls 'jump-btn' 跳转按钮class
jumpBtn '跳转' 跳转按钮文本内容
callback function(){} 回调函数,参数"index"为当前页
其中回调函数是最核心的参数,即点击分页的数字按钮时所执行的操作,回调函数中有一个参数叫p
callback:function(p){
//回调函数....
}
该回调函数相关接绍如下:
getPageCount() 获取总页数
setPageCount(page) 设置总页数
getCurrent()获取当前页
filling() 填充数据,参数为页数
(三) AJAX动态动态获取分页数据:
请求参数1: 每页的记录数 pageSize
请求参数2: 当前的页码 pageNow
响应参数1: 每页的记录数据List
响应参数2: 记录总数 totalCount
通过相应参数 获取总页数: var pageall = Math.ceil(totalCount / pageSize);
分页中的回调函数的操作,也就是点击按钮需要做什么??点击按钮需要重新发起AJAX请求,需要把每页显示条数和当前的页数传回给服务器,loadPages(pageall),然后再次发起AJAX请求,如此往复.
(四) 总结
一个很主要的流程总结起来就是: 首先要发起ajax得到总记录数和返回的每页数据, 然后在success回调中使用pagination的方法,在callback回调中再次发起ajax,就是为了点击分页按钮再次显示数据。