page.html 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <ul aria-label="Page navigation" id="pages"></ul>
  2. <script type="text/javascript">
  3. let options = {
  4. bootstrapMajorVersion: 3,
  5. currentPage: "<%= pages.current %>",
  6. totalPages: "<%= pages.total %>",
  7. size: "small",
  8. itemTexts: function(type, page, current) {
  9. switch (type) {
  10. case "first":
  11. return "&laquo;";
  12. case "prev":
  13. return "&lsaquo;";
  14. case "next":
  15. return "&rsaquo;";
  16. case "last":
  17. return "&raquo;";
  18. case "page":
  19. return page;
  20. }
  21. },
  22. shouldShowPage: function (type, page, current) {
  23. let result = true;
  24. switch (type) {
  25. case "first":
  26. result = (current !== 1);
  27. break;
  28. case "prev":
  29. result = false;
  30. break;
  31. case "next":
  32. result = false;
  33. break;
  34. case "last":
  35. result = (current !== this.totalPages);
  36. break;
  37. case "page":
  38. result = true;
  39. break;
  40. }
  41. return result;
  42. },
  43. pageUrl: function(type, page, current){
  44. let queryData = JSON.parse(pages.queryData);
  45. // 如果没有附带查询条件则直接返回
  46. if (typeof queryData !== 'object') {
  47. return "?page=" + page;
  48. }
  49. // 有其它数据则重新赋值page,然后组合字符串
  50. queryData.page = page;
  51. let queryArray = [];
  52. for(let tmp in queryData) {
  53. let tempString = tmp + '=' + queryData[tmp];
  54. queryArray.push(tempString);
  55. }
  56. let firstQuery = queryArray.shift();
  57. let queryString = queryArray.join('&');
  58. return '?' + firstQuery + '&' + queryString;
  59. }
  60. };
  61. if (options.totalPages > 0) {
  62. $("#pages").bootstrapPaginator(options);
  63. }
  64. </script>