laypage.html 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  6. <title>分页 - layui</title>
  7. <link rel="stylesheet" href="../src/css/layui.css">
  8. <style>
  9. body{padding: 10px;}
  10. </style>
  11. </head>
  12. <body>
  13. 总页数低于页码总数:<div id="demo0"></div>
  14. 总页数大于页码总数:<div id="demo1"></div>
  15. 自定义主题:<div id="demo2"></div>
  16. 自定义首页、尾页、上一页、下一页文本:<div id="demo3"></div>
  17. 不显示首页尾页:<div id="demo4"></div>
  18. 开启HASH:<div id="demo5"></div>
  19. 只显示上一页、下一页:<div id="demo6"></div>
  20. 显示完整功能:<div id="demo7"></div>
  21. 自定义排版:<div id="demo8"></div>
  22. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 50px;">
  23. <legend>将一段已知数组分页展示</legend>
  24. </fieldset>
  25. <div id="demo9"></div>
  26. <ul id="biuuu_city_list"></ul>
  27. <script src="../src/layui.js"></script>
  28. <script>
  29. layui.use(['laypage', 'layer'], function(){
  30. var laypage = layui.laypage
  31. ,layer = layui.layer;
  32. //总页数低于页码总数
  33. laypage.render({
  34. elem: 'demo0'
  35. ,count: 50 //数据总数
  36. });
  37. //总页数大于页码总数
  38. laypage.render({
  39. elem: 'demo1'
  40. ,count: 70 //数据总数
  41. ,jump: function(obj){
  42. console.log(obj)
  43. }
  44. });
  45. //自定义样式
  46. laypage.render({
  47. elem: 'demo2'
  48. ,count: 100
  49. ,theme: '#1E9FFF'
  50. });
  51. //自定义首页、尾页、上一页、下一页文本
  52. laypage.render({
  53. elem: 'demo3'
  54. ,count: 100
  55. ,first: '首页'
  56. ,last: '尾页'
  57. ,prev: '<em>←</em>'
  58. ,next: '<em>→</em>'
  59. });
  60. //不显示首页尾页
  61. laypage.render({
  62. elem: 'demo4'
  63. ,count: 100
  64. ,first: false
  65. ,last: false
  66. });
  67. //开启HASH
  68. laypage.render({
  69. elem: 'demo5'
  70. ,count: 500
  71. ,curr: location.hash.replace('#!fenye=', '') //获取hash值为fenye的当前页
  72. ,hash: 'fenye' //自定义hash值
  73. });
  74. //只显示上一页、下一页
  75. laypage.render({
  76. elem: 'demo6'
  77. ,count: 50
  78. ,layout: ['prev', 'next']
  79. ,jump: function(obj, first){
  80. if(!first){
  81. layer.msg('第 '+ obj.curr +' 页');
  82. }
  83. }
  84. });
  85. //完整功能
  86. laypage.render({
  87. elem: 'demo7'
  88. ,count: 100
  89. //,groups: 0
  90. ,layout: ['count', 'prev', 'page', 'next', 'limit', 'skip']
  91. ,jump: function(obj){
  92. console.log(obj)
  93. }
  94. });
  95. //自定义排版
  96. laypage.render({
  97. elem: 'demo8'
  98. ,count: 1000
  99. ,layout: ['limit', 'prev', 'page', 'next']
  100. //,limits: [100, 200, 300]
  101. ,limit: 200
  102. });
  103. //将一段数组分页展示
  104. //测试数据
  105. var data = [
  106. '北京',
  107. '上海',
  108. '广州',
  109. '深圳',
  110. '杭州',
  111. '长沙',
  112. '合肥',
  113. '宁夏',
  114. '成都',
  115. '西安',
  116. '南昌',
  117. '上饶',
  118. '沈阳',
  119. '济南',
  120. '厦门',
  121. '福州',
  122. '九江',
  123. '宜春',
  124. '赣州',
  125. '宁波',
  126. '绍兴',
  127. '无锡',
  128. '苏州',
  129. '徐州',
  130. '东莞',
  131. '佛山',
  132. '中山',
  133. '成都',
  134. '武汉',
  135. '青岛',
  136. '天津',
  137. '重庆',
  138. '南京',
  139. '九江',
  140. '香港',
  141. '澳门',
  142. '台北'
  143. ];
  144. //调用分页
  145. laypage.render({
  146. elem: 'demo9'
  147. ,count: data.length
  148. ,jump: function(obj){
  149. //模拟渲染
  150. document.getElementById('biuuu_city_list').innerHTML = function(){
  151. var arr = []
  152. ,thisData = data.concat().splice(obj.curr*obj.limit - obj.limit, obj.limit);
  153. layui.each(thisData, function(index, item){
  154. arr.push('<li>'+ item +'</li>');
  155. });
  156. return arr.join('');
  157. }();
  158. }
  159. });
  160. });
  161. </script>
  162. </body>
  163. </html>