最近项目要使用layUI的分页,看了官方demo感觉还是不太清晰,摸索了一下,现在记录一下。
一、引入layUI的相关资源
<link rel="stylesheet" href="${ctxPath}/vendor/layui-v2.4.5/layui/css/layui.css" rel="external nofollow" ><script src="${ctxPath}/vendor/layui-v2.4.5/layui/layui.js"></script><script src="${ctxPath}/vendor/jquery.min.js"></script>//引入jquery包
二、html页面代码
<div class="layui-main g-main"> <div class="layui-row"> <div class="layui-col-xs12"> <blockquote class="layui-elem-quote"> 当前系统排名:<span class="layui-badge-rim badge-number">第${scoreRecordUtil.rank}名</span>, 总积分:<span class="layui-badge-rim badge-number">${scoreRecordUtil.totalScore}分</span>, 和上一名相差:<span class="layui-badge-rim badge-number">${scoreRecordUtil.differenceTotal}分</span>,继续加油! </blockquote> <table class="layui-table"> <thead> <tr> <th>积分类型</th> <th>积分原因</th> <th>积分值</th> <th>创建时间</th> </tr> </thead> <tbody> //存放分页加载数据 </tbody> </table> <div class="page"></div> </div> </div></div>
三、定义showReocrd()函数异步加载数据
function showReocrd(pageNo,pageSize){ $.get("${ctxPath}/score-record/showRecord", { pageNo:pageNo, pageSize:pageSize }, function (date) { //加载后台返回的List集合数据 for (var i = 0; i < date.length; i++) { var td = $("<td></td>").text(date[i].typeName); var td2 = $("<td></td>").text(date[i].operate); var td3 = $("<td></td>").text(date[i].score); var td4 = $("<td></td>").text(date[i].createTime); var tr = $("<tr></tr>").append(td, td2, td3, td4); $('tbody').append(tr); } }, "json" );}
四、分页js
主要注意下:
count: total 代表总的数据量,
limit 代表每页行数,
curr 代表起始页,但jump函数中的obj.curr取的是当前页数
jump 方法中obj参数可以取到上面的属性和方法
first 为是否首次加载
//加载总页数var total = "${scoreRecordUtil.totalRecord}";//先初始化加载首页,十条数据showReocrd(1,10);layui.use(['laypage','jquery'], function() { var laypage = layui.laypage,$ = layui.$; $(".page").each(function(i,the){ laypage.render({ elem: the //注意,这里的 test1 是 ID,不用加 # 号 ,count: total //数据总数,从服务端得到 , limit: 10 //每页显示条数 , limits: [10, 20, 30] , curr: 1 //起始页 , groups: 5 //连续页码个数 , prev: '上一页' //上一页文本 , netx: '下一页' //下一页文本 , first: 1 //首页文本 , last: 100 //尾页文本 , layout: ['prev', 'page', 'next','limit','refresh','skip'] //跳转页码时调用 , jump: function (obj, first) { //obj为当前页的属性和方法,第一次加载first为true //非首次加载 do something if (!first) { //清空以前加载的数据 $('tbody').empty(); //调用加载函数加载数据 showReocrd(obj.curr,obj.limit); } } }); })})
推荐:使用layui的table组件自带分页功能(异步,含条件查询)点这里
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VeVb武林网。
注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。