上一文说到过 Paginationjs 插件简单使用,它只是针对于少量数据。
Paginationjs 插件也支持 Ajax 请求数据。
在使用前,配置2个 div,一个用于展示分页,一个用于展示数据。
如,msg_page 和 msg_list。之后,通过 dataSource 设置请求链接,通过 callback 对这里数据进行处理。
根据需要:通过 alias 配置分页参数别名,locator 指定列表数据属性,totalNumberLocator 设置总记录数。
<!DOCTYPE html> <html> <head> <title>Paginationjs 插件简单使用</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link href="http://pagination.js.org/dist/2.6.0/pagination.css" rel="stylesheet" type="text/css"> <style type="text/css"> ul, li { list-style: none; } #wrapper { width: 900px; margin: 20px auto; } </style> </head> <body> <div id="wrapper"> <section> <div class="msg_page"></div> <div class="msg_list"></div> </section> </div> <script src="http://code.jquery.com/jquery-3.6.1.js"></script> <script src="http://pagination.js.org/dist/2.6.0/pagination.js"></script> <script> $(function() { // Ajax 分页 $('#msg_page').pagination({ // 配置分页参数别名 alias: { pageNumber: 'pageNo', // 第几页 pageSize: 'pageSize' // 分页大小 }, // 请求地址 dataSource: '/msg/listData', // 响应后,哪个属性是数据项 locator: 'list', // 响应后,获取总记录数 totalNumberLocator: function (response) { return response.count; }, // 分页大小 pageSize: 6, // 配置分页展示效果 ulClassName: "pagination pagination-sm inline", // 分页数据处理 callback: function (response, pagination) { let msgList = []; let data; msgList.push("<ul class=\"todo-list ui-sortable\">") for (const x in response) { data = response[x]; msgList.push("<span>" + data["title"] + "</span>"); } msgList.push("</ul>"); // 渲染列表 $("#msg_list").html(msgList.join("")); } }); </script> </body> </html>
相关资源: