Bootstrap分頁(帶有省略號)
阿新 • • 發佈:2019-02-05
Bootstrap 分頁
使用Bootstrap實現分頁,並且當頁碼過多時使用省略號
原始碼下載
程式碼片段一(HTML主要部分)
<html style="padding-bottom: 54px;">
<title>jquery</title>
<script type="text/javascript">
$(function(){
$(".pagination").createPage({
totalPage:30,
currPage:14 ,
backFn:function(p){
console.log("回撥函式:"+p);
}
});
})
</script>
</head>
<body>
<div class="pagec" id="pagearea">
<ul class="pagination">
</ul>
</div>
</body>
</html >
程式碼片段二(JavaScript)
(function($){
var ms = {
init:function(totalsubpageTmep,args){
return (function(){
ms.fillHtml(totalsubpageTmep,args);
ms.bindEvent(totalsubpageTmep,args);
})();
},
//填充html
fillHtml:function (totalsubpageTmep,args){
return (function(){
totalsubpageTmep="";
// 頁碼大於等於4的時候,新增第一個頁碼元素
if(args.currPage!=1 && args.currPage>=4 && args.totalPage!=4) {
totalsubpageTmep += "<li class='ali'><a href='javascript:void(0);' class='geraltTb_pager' data-go='' >"+1+"</a></li>";
}
/* 當前頁碼>4, 並且<=總頁碼,總頁碼>5,新增“···”*/
if(args.currPage-2>2 && args.currPage<=args.totalPage && args.totalPage>5) {
totalsubpageTmep += "<li class='ali'><a href='javascript:void(0);' class='geraltTb_' data-go='' >...</a></li>";
}
/* 當前頁碼的前兩頁 */
var start = args.currPage-2;
/* 當前頁碼的後兩頁 */
var end = args.currPage+2;
if((start>1 && args.currPage<4) || args.currPage==1) {
end++;
}
if(args.currPage>args.totalPage-4 && args.currPage>=args.totalPage) {
start--;
}
for(; start<=end; start++) {
if(start<=args.totalPage && start>=1) {
totalsubpageTmep += "<li class='ali'><a href='javascript:void(0);' class='geraltTb_pager' data-go='' >"+start+"</a></li>";
}
}
if(args.currPage+2<args.totalPage-1 && args.currPage>=1 && args.totalPage>5) {
totalsubpageTmep += "<li class='ali'><a href='javascript:void(0);' class='geraltTb_' data-go='' >...</a></li>";
}
if(args.currPage!=args.totalPage && args.currPage<args.totalPage-2 && args.totalPage!=4) {
totalsubpageTmep += "<li class='ali'><a href='javascript:void(0);' class='geraltTb_pager' data-go='' >"+args.totalPage+"</a></li>";
}
$(".pagination").html(totalsubpageTmep);
})();
},
//繫結事件
bindEvent:function(totalsubpageTmep,args){
return (function(){
totalsubpageTmep.on("click","a.geraltTb_pager",function(event){
var current = parseInt($(this).text());
ms.fillHtml(totalsubpageTmep,{"currPage":current,"totalPage":args.totalPage,"turndown":args.turndown});
if(typeof(args.backFn)=="function"){
args.backFn(current);
}
});
})();
}
}
$.fn.createPage = function(options){
ms.init(this,options);
}
})(jQuery);