视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
layui laypage组件常见用法总结
2020-11-03 18:24:29 责编:小采
文档


laypage 的使用非常简单,指向一个用于存放分页的容器,通过服务端得到一些初始值,即可完成分页渲染。核心方法: laypage.render(options) 来设置基础参数。

一、laypage的常用基础参数

layui.use(['laypage'], function () {
 laypage = layui.laypage
 laypage.render({
 elem: 'pageTest' //这是元素的id,不能写成"#pageTest"
 , count: data.length //数据总数
 , 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) {
 //非首次加载 do something 
 }
 }
 })
 });

二、使用方式

在layui中的table中包含了laypage,这里就不再说明laytable中的分页用法,主要写一个后台分页,前端加载列表(非table中的列表)的栗子,具体为点击分类栏,主体部分显示对应的新闻列表。

<div class="category">
   <ul id="newsTypeList">
     <li class="hover" id="hyzxNews" data-typeId="1">新闻分类1</li>
     <li data-typeId="2">新闻分类2</li>
     <li data-typeId="3">新闻分类3</li>
     <li data-typeId="4">新闻分类4</li>
   </ul>
 </div>
<h2 id="newsType">新闻分类1</h2>
 <div class="list_box">
   <ul id="newsList" class="list_ul"></ul>
   <div id="demo7" style="text-align:center"></div>
 </div>


<script>
 layui.use(['laypage'], function () {
 var laypage = layui.laypage
 , layer = layui.layer;

//---------------------------点击侧边类型,加载新闻列表
 $('#newsTypeList li').click(function () {
 var typeId = $(this).attr("data-typeId");
 $.post('/News/GetNewsByPage', { page: 1, limit: 3, typeId: typeId }, function (result) {
 res = result.data;
 setHtml(res);
 setStyle(typeId)
 pages(result.count, typeId)//切换分类时候,调用页码,重新渲染
 });
 }).eq(0).click();

//--------------------------------分页组件渲染
 function pages(count, typeId) {
 laypage.render({
 elem: 'demo7'
 , count: count
 , theme: '#4A90E2'
 , layout: ['prev', 'page', 'next']
 , limit: 3
 , jump: function (obj, first) {
 if (!first) {
 $.post('/News/GetNewsByPage'
                , { page: obj.curr, limit: obj.limit, typeId: typeId }
                , function (result) {
     res = result.data;
     setHtml(res);
    });
 }
 }
 })
 }
//--------------------------------写入后台内容 
 function setHtml(data) {
 var strHtml = "";
 $.each(data, function (index, item) {
 strHtml += ('<li>${item.Title}</li>');
 });
 document.getElementById('newsList').innerHTML = strHtml;
 }
//--------------------------------改变样式
 function setStyle(typeId) {
 $('ul.newsTypeList li').removeClass('hover');
 $('ul.newsTypeList li[data-typeId=' + typeId + ']').addClass('hover');
 $('#newsType').text($('ul#newsTypeList li[data-typeId=' + typeId + ']').text())
 }
 });
</script>

更多layui知识请关注layui使用教程栏目。

下载本文
显示全文
专题