pc端分頁插件的使用


使用的插件是jqpaginator分頁插件

官網:http://jqpaginator.keenwon.com/

使用方法:

第一步引入css.js

1 <link type="text/css" rel="stylesheet" href="http://cdn.staticfile.org/twitter-bootstrap/3.1.1/css/bootstrap.min.css" />
2 <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
3 <script src="js/jqpaginator.min.js" type="text/javascript" charset="utf-8"></script>

第二步:html布局

 1         <table class="layui-table" style="text-align: center;">
 2             <thead>
 3                 <tr>
 4                     <th style="text-align: center;">ID</th>
 5                     <th style="text-align: center;">商品名稱</th>
 6                     <th style="text-align: center;">商品價格</th>
 7                     <th style="text-align: center;">創建時間</th>
 8                     <th style="text-align: center;">狀態</th>
 9                     <th style="text-align: center;">操作</th>
10                 </tr>
11             </thead>
12             <tbody id="tbody">
13             </tbody>
14         </table>
15         <div id="pagination" style="text-align: center;">
16         </div>

第三步:定義分頁 ajax請求

 

  1 var pageCount; // 總頁數
  2 var dataObj = { // 定義一個data傳輸的對象
  3     "page": 1, // 初始化第一頁
  4     "rows": 10 // 每頁記錄數
  5 }
  6 
  7 $(function() {
  8     loadcancel();
  9     loadpage();
 10 });
 11 /**
 12  * 定義總頁數(可以設置為全局方法)
 13  * @param {Object} 總數量
 14  * @param {Object} 每頁數量
 15  */
 16 function fPageCount(sum, count) {
 17     return(sum % count == 0) ? sum / count : Math.ceil(sum / count);
 18 }
 19 /**、
 20  * 初始化查詢第一頁的數據
 21  * @param {Object} 當前頁數
 22  * @param {Object} data數據
 23  */
 24 function loadcancel(obj) {
 25     $.ajax({
 26         type: "post",
 27         url: "url",
 28         async: false,
 29         cache: false,
 30         data: dataObj,
 31         dataType: "json",
 32         success: function(data) {
 33             /**
 34              * data中至少存在兩個屬性
 35              * sum:總數量
 36              * list:每頁查詢的數據
 37              */
 38             $('#tbody').empty(); // 清空tbody對象
 39             var html = '';
 40       var c = fPageCount(data.sum, rows);
         // 為什么還要二次轉換,因為如果總頁數為0的話,分頁插件會報錯,所以當總頁數為0的時候設置總頁數為1
         pageCount = (c == 0)? 1 : c;
 41             if(data.sum > 0) {
 42                 $.each(data.list, function(index, item) {
 43                     // jquery 遍歷對象
 44                     html += '<tr><td>' + item['id'] + '</td>...</tr>';
 45                 });
 46             } else {
 47                 html += '<tr><td style="text-align: center;" colspan="8">暫時沒有數據</td></tr>';
 48             }
 49             $('#tbody').html(html);
 50         },
 51     });
 52 }
 53 
 54 //分頁方法
 55 function loadpage() {
 56     $.jqPaginator('#pagination', {
 57         totalPages: pageCount, // 設置分頁的總頁數
 58         visiblePages: 10, //     設置最多顯示的頁碼數
 59         currentPage: dataObj.page, // 設置當前的頁碼
 60         wrapper: '<ul class="pagination"></ul>',
 61         first: '<li class="first"><a href="javascript:void(0);">首頁</a></li>',
 62         prev: '<li class="prev"><a href="javascript:void(0);">上一頁</a></li>',
 63         next: '<li class="next"><a href="javascript:void(0);">下一頁</a></li>',
 64         last: '<li class="last"><a href="javascript:void(0);">末頁</a></li>',
 65         page: '<li class="page"><a href="javascript:void(0);">{{page}}</a></li>',
 66         onPageChange: function(num) {
 67             dataObj.page = num; // 點擊分頁時更換page的值
 68             loadcancel(); // 重新執行ajax請求
 69         }
 70     });
 71 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM