Skip to content

Instantly share code, notes, and snippets.

@flowerains
Last active January 6, 2016 08:08
Show Gist options
  • Save flowerains/4a0859063f5841961ff0 to your computer and use it in GitHub Desktop.
Save flowerains/4a0859063f5841961ff0 to your computer and use it in GitHub Desktop.
一个分页方法,非常的实用 pagelist
var nowAlid, //现在类型
pageSize = 50, //默认每页数量
nowPage = 1, //当前页数
pagiWidth = 5; //最大页数宽度
function pageList(result){
var pageDiv = $("#paginationDiv");
var __GetPageList = function(result, pageDiv) {
var total_page = result.totalPage;
var now_page = result.page;
var total_count = result.totalNum;
var page_left = Math.floor(pagiWidth / 2); //左边的页数
var min = ((now_page - page_left) > 0) ? (now_page - page_left) : 1;
var max = ((now_page + (pagiWidth - now_page + min) - 1) <= total_page) ? (now_page + (pagiWidth - now_page + min) - 1) : total_page;
var pageList = $('<ul class="pagination"></ul>').appendTo(pageDiv);
pageList.append('<li class="top"><a href="javascript:void(0);" page="1">&laquo;</a></li><li class="prev"><a href="javascript:void(0);" page="' + ((now_page - 1 > 0) ? (now_page - 1) : 1) + '">&lt;</a></li>');
for (var i = min; i <= max; i++) {
var li = $('<li><a href="javascript:void(0);" page="' + i + '">' + i + '</a></li>');
if (i === now_page) {
li.addClass("active");
}
pageList.append(li);
}
pageList.append('<li class="next"><a href="javascript:void(0);" page="' + ((now_page + 1 <= total_page) ? (now_page + 1) : total_page) + '">&gt;</a></li><li class="last"><a href="javascript:void(0);" page="'+total_page+'">&raquo;</a></li>');
$("li", pageList).bind("click", function() {
var page = $(this).find("a:eq(0)").attr("page");
//self.config.filter["page"] = page;
//self.config.result["now_page"] = page; //测试
loadResult(page);
});
if (now_page === min) {
$("li.top", pageList).addClass("disabled");
$("li.prev", pageList).addClass("disabled");
}
if (now_page === max) {
$("li.next", pageList).addClass("disabled");
$("li.last", pageList).addClass("disabled");
}
}
pageDiv.html("");
pageDiv.append('<div class="col-sm-12 col-lg-4 control-label total-label">共 <span class="total-count">' + result.totalNum + '</span>' + ' 条,当前第 <span class="total-page">' + result.page + '/' + result.totalPage + '</span> 页,每页' + '<div class="btn-group"><button class="btn btn-default btn-xs dropdown-toggle" type="button" data-toggle="dropdown">' + '<span class="per-page">' + result.pageSize + '</span> <span class="caret"></span></button>'
+ '<ul class="dropdown-menu" role="menu"><li><a href="javascript:void(0);">10</a></li><li><a href="javascript:void(0);">20</a></li><li><a href="javascript:void(0);">30</a></li><li><a href="javascript:void(0);">50</a></li></ul>'
+ '</div>条</div>');
//每页若干条的事件
$(".dropdown-menu li", pageDiv).bind("click", function() {
var num = $(this).find("a:eq(0)").html();
$(".per_page", pageDiv).text(num);
pageSize = num;
loadResult(nowPage);
});
var pageDiv = $('<div class="col-sm-12 col-lg-6 col-lg-offset-2"></div>').appendTo(pageDiv);
__GetPageList(result, pageDiv);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment