Advertisement
asimryu

js pagination function with bootstrap

Sep 29th, 2019
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function pagination(total, pageset, blockset, page) {
  2.     var total = total ? total : 0;
  3.     var pageset = pageset ? pageset : 10;
  4.     var blockset = blockset ? blockset : 10;   
  5.     var page = page ? page : 1;
  6.  
  7.     var totalpage = Math.ceil (total / pageset); // total pages
  8.     var totalblock = Math.ceil (totalpage / blockset); // total page blocks
  9.     var block = Math.ceil (page / blockset); // current block
  10.     var first_page = ((block - 1) * blockset) + 1; // first page of current block
  11.     var last_page = Math.min (totalpage, block * blockset); // last page of current block
  12.     var prev_page = page - 1; // previous page
  13.     var next_page = page + 1; // next page
  14.     var prev_block = block - 1; // previous block
  15.     var next_block = block + 1; // next block
  16.     var prev_block_page = prev_block * blockset; // last page of previous block
  17.     var next_block_page = next_block * blockset - (blockset - 1); // first page of next block
  18.  
  19.     var paginationblock = "<div aria-label='...'><ul class='pagination justify-content-center'>";
  20.  
  21.     if( page > 1 ) paginationblock += "<li class='page-item'><a class='page-link' href='1'>1</a></li>";
  22.     else paginationblock +=  "<li class='page-item disabled'><a class='page-link' href='1' tabindex='-1' aria-disabled='true'>1</a></li>";
  23.  
  24.     if( prev_block > 0 ) paginationblock += "<li class='page-item'><a class='page-link' href='" + prev_block_page + "'><i class='fas fa-chevron-left'></i></a></li>";
  25.     else paginationblock += "<li class='page-item disabled'><a class='page-link' href='#!' tabindex='-1' aria-disabled='true'><i class='fas fa-chevron-left'></i></a></li>";
  26.  
  27.     for ( var i=first_page; i <= last_page; i++ ) {
  28.         if(i != page) paginationblock +=  "<li class='page-item'><a class='page-link' href='" + i + "'>" + i + "</a></li>";
  29.         else paginationblock +=  "<li class='page-item active' aria-current='page'><a class='page-link' href='#!'>" + i + "</a></li>";
  30.     }
  31.  
  32.     if( next_block <= totalblock ) paginationblock += "<li class='page-item'><a class='page-link' href='" + next_block_page + "'><i class='fas fa-chevron-right'></i></a></li>";
  33.     else paginationblock +=  "<li class='page-item disabled'><a class='page-link' href='#!' tabindex='-1' aria-disabled='true'><i class='fas fa-chevron-right'></i></a></li>";
  34.    
  35.     if( page < totalpage ) paginationblock += "<li class='page-item'><a class='page-link' href='" + totalpage + "'>" + totalpage + "</a></li>";
  36.     else paginationblock +=  "<li class='page-item disabled'><a class='page-link' href='#!' tabindex='-1' aria-disabled='true'>" + totalpage + "</a></li>";
  37.  
  38.     paginationblock += "</ul></div>";
  39.  
  40.     return paginationblock;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement