增加单页应用的layui-admin

This commit is contained in:
2024-01-22 12:22:41 +08:00
parent acf64a0c71
commit 1b2929f32e
344 changed files with 21782 additions and 3 deletions

View File

@@ -0,0 +1,108 @@
<title>动画</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>动画</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
#component-anim .layui-card-body{padding: 15px;}
#component-anim .component-anim-demo{margin-bottom: 50px; font-size: 0;}
#component-anim .component-anim-demo li{display: inline-block; vertical-align: middle; width: 127px; line-height: 25px; padding: 20px 0; margin-right: -1px; margin-bottom: -1px; border: 1px solid #e2e2e2; font-size: 14px; text-align: center; color: #5F5F5F; transition: all .3s; -webkit-transition: all .3s;}
#component-anim .component-anim-demo li .layui-icon{display: inline-block; font-size: 36px;}
#component-anim .component-anim-demo li .fontclass{display: none;}
#component-anim .component-anim-demo li .name{color: #c2c2c2;}
#component-anim .component-anim-demo li:hover{background-color: #f2f2f2; color: #000;}
#component-anim .component-anim-demo li{width: 222px;}
#component-anim .component-anim-demo .layui-anim{width: 150px; height: 150px; line-height: 150px; margin: 0 auto 10px; text-align: center; background-color: #16baaa; cursor: pointer; color: #fff; border-radius: 50%;}
</style>
<div class="layui-fluid" id="component-anim">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">点击演示动画</div>
<div class="layui-card-body">
<ul class="component-anim-demo">
<li>
<div class="layui-anim" data-anim="layui-anim-up">从最底部往上滑入</div>
<div class="code">layui-anim-up</div>
</li>
<li>
<div class="layui-anim" data-anim="layui-anim-upbit">微微往上滑入</div>
<div class="code">layui-anim-upbit</div>
</li>
<li>
<div class="layui-anim" data-anim="layui-anim-scale">平滑放大</div>
<div class="code">layui-anim-scale</div>
</li>
<li>
<div class="layui-anim" data-anim="layui-anim-scaleSpring">弹簧式放大</div>
<div class="code">layui-anim-scaleSpring</div>
</li>
</ul>
<ul class="component-anim-demo">
<li>
<div class="layui-anim" data-anim="layui-anim-fadein">渐现</div>
<div class="code">layui-anim-fadein</div>
</li>
<li>
<div class="layui-anim" data-anim="layui-anim-fadeout">渐隐</div>
<div class="code">layui-anim-fadeout</div>
</li>
<li>
<div class="layui-anim" data-anim="layui-anim-rotate">360度旋转</div>
<div class="code">layui-anim-rotate</div>
</li>
<li>
<div class="layui-anim" data-anim="layui-anim-rotate layui-anim-loop">循环动画</div>
<div class="code">追加layui-anim-loop</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$
,admin = layui.admin
,element = layui.element
,router = layui.router();
/* 演示动画 */
$('#component-anim .component-anim-demo .layui-anim').on('click', function(){
var othis = $(this), anim = othis.data('anim');
/* 停止循环 */
if(othis.hasClass('layui-anim-loop')){
return othis.removeClass(anim);
}
othis.removeClass(anim);
setTimeout(function(){
othis.addClass(anim);
});
/* 恢复渐隐 */
if(anim === 'layui-anim-fadeout'){
setTimeout(function(){
othis.removeClass(anim);
}, 1300);
}
});
});
</script>

View File

@@ -0,0 +1,103 @@
<title>辅助元素</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>辅助</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
</style>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">引用区块</div>
<div class="layui-card-body">
<blockquote class="layui-elem-quote">默认引用</blockquote>
<blockquote class="layui-elem-quote layui-quote-nm">
穷则独善其身,达则兼济天下
<br>——孟子(亚圣)
</blockquote>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">字段集区块</div>
<div class="layui-card-body">
<fieldset class="layui-elem-field">
<legend>爱好</legend>
<div class="layui-field-box">
你可以在这里放任何内容
</div>
</fieldset>
<br>
<fieldset class="layui-elem-field layui-field-title">
<legend>带标题的横线</legend>
</fieldset>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">分割线</div>
<div class="layui-card-body">
默认分割线
<hr>
赤色分割线
<hr class="layui-bg-red">
橙色分割线
<hr class="layui-bg-orange">
墨绿分割线
<hr class="layui-bg-green">
青色分割线
<hr class="layui-bg-cyan">
蓝色分割线
<hr class="layui-bg-blue">
黑色分割线
<hr class="layui-bg-black">
灰色分割线
<hr class="layui-bg-gray">
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">纯圆角</div>
<div class="layui-card-body">
<div class="layui-inline">
<img src="https://unpkg.com/outeres/demo/avatar/0.png" class="layui-circle">
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$
,admin = layui.admin
,element = layui.element
,router = layui.router();
});
</script>

View File

@@ -0,0 +1,103 @@
<title>徽章</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>徽章</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
</style>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">小徽章大家族</div>
<div class="layui-card-body">
<br>小圆点:
<span class="layui-badge-dot"></span>
<span class="layui-badge-dot layui-bg-orange"></span>
<span class="layui-badge-dot layui-bg-green"></span>
<span class="layui-badge-dot layui-bg-cyan"></span>
<span class="layui-badge-dot layui-bg-blue"></span>
<span class="layui-badge-dot layui-bg-black"></span>
<span class="layui-badge-dot layui-bg-gray"></span>
<br><br>常规弧形徽章:
<span class="layui-badge">6</span>
<span class="layui-badge">99</span>
<span class="layui-badge">61728</span>
<span class="layui-badge"></span>
<span class="layui-badge layui-bg-orange"></span>
<span class="layui-badge layui-bg-green">绿</span>
<span class="layui-badge layui-bg-cyan"></span>
<span class="layui-badge layui-bg-blue"></span>
<span class="layui-badge layui-bg-black"></span>
<span class="layui-badge layui-bg-gray"></span>
<br><br>边框徽章:
<span class="layui-badge-rim">6</span>
<span class="layui-badge-rim">Hot</span>
<br><br>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">与其它元素的搭配</div>
<div class="layui-card-body">
<br>
<button class="layui-btn">查看消息<span class="layui-badge layui-bg-gray">1</span></button>
<button class="layui-btn">动态<span class="layui-badge-dot layui-bg-orange"></span></button>
<br><br>
<ul class="layui-nav style=" text-align:="" right;"=""> &lt;-- 小Tips这里有没有发现设置导航靠右对齐或居中对齐其实非常简单 --&gt;
<li class="layui-nav-item">
<a href="">控制台<span class="layui-badge">9</span></a>
</li>
<li class="layui-nav-item">
<a href="">个人中心<span class="layui-badge-dot"></span></a>
</li>
</ul>
<br>
<div class="layui-tab layui-tab-brief">
<ul class="layui-tab-title">
<li class="layui-this">网站设置</li>
<li>用户管理<span class="layui-badge-dot"></span></li>
<li>最新邮件<span class="layui-badge">99+</span></li>
</ul>
<div class="layui-tab-content"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$
,admin = layui.admin
,element = layui.element
,router = layui.router();
element.render();
});
</script>

View File

@@ -0,0 +1,178 @@
<title>按钮</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>按钮</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">按钮主题</div>
<div class="layui-card-body">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-primary">原始按钮</button>
<button class="layui-btn">默认按钮</button>
<button class="layui-btn layui-btn-normal">百搭按钮</button>
<button class="layui-btn layui-btn-warm">暖色按钮</button>
<button class="layui-btn layui-btn-danger">警告按钮</button>
<button class="layui-btn layui-btn-disabled">禁用按钮</button>
</div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">按钮尺寸</div>
<div class="layui-card-body">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-primary layui-btn-lg">大型按钮</button>
<button class="layui-btn layui-btn-primary">默认按钮</button>
<button class="layui-btn layui-btn-primary layui-btn-sm">小型按钮</button>
<button class="layui-btn layui-btn-primary layui-btn-xs">迷你按钮</button>
<br>
<button class="layui-btn layui-btn-lg">大型按钮</button>
<button class="layui-btn">默认按钮</button>
<button class="layui-btn layui-btn-sm">小型按钮</button>
<button class="layui-btn layui-btn-xs">迷你按钮</button>
<br>
<button class="layui-btn layui-btn-lg layui-btn-normal">大型按钮</button>
<button class="layui-btn layui-btn-normal">默认按钮</button>
<button class="layui-btn layui-btn-sm layui-btn-normal">小型按钮</button>
<button class="layui-btn layui-btn-xs layui-btn-normal">迷你按钮</button>
</div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">按钮图标</div>
<div class="layui-card-body">
<div class="layui-btn-container">
<button class="layui-btn"><i class="layui-icon">&#xe600;</i></button>
<button class="layui-btn"><i class="layui-icon">&#xe603;</i></button>
<button class="layui-btn"><i class="layui-icon">&#xe602;</i></button>
<button class="layui-btn"><i class="layui-icon">&#xe642;</i></button>
<button class="layui-btn"><i class="layui-icon">&#xe640;</i></button>
<button class="layui-btn"><i class="layui-icon">&#xe641;</i></button>
<br>
<button class="layui-btn layui-btn-danger"><i class="layui-icon">&#xe600;</i></button>
<button class="layui-btn layui-btn-danger"><i class="layui-icon">&#xe603;</i></button>
<button class="layui-btn layui-btn-danger"><i class="layui-icon">&#xe602;</i></button>
<button class="layui-btn layui-btn-danger"><i class="layui-icon">&#xe642;</i></button>
<button class="layui-btn layui-btn-danger"><i class="layui-icon">&#xe640;</i></button>
<button class="layui-btn layui-btn-danger"><i class="layui-icon">&#xe641;</i></button>
<br>
<button class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon">&#xe600;</i></button>
<button class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon">&#xe603;</i></button>
<button class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon">&#xe602;</i></button>
<button class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon">&#xe642;</i></button>
<button class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon">&#xe640;</i></button>
<button class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon">&#xe641;</i></button>
<br>
<button class="layui-btn layui-btn-sm"><i class="layui-icon">&#xe600;</i></button>
<button class="layui-btn layui-btn-sm"><i class="layui-icon">&#xe603;</i></button>
<button class="layui-btn layui-btn-sm"><i class="layui-icon">&#xe602;</i></button>
<button class="layui-btn layui-btn-sm"><i class="layui-icon">&#xe642;</i></button>
<button class="layui-btn layui-btn-sm"><i class="layui-icon">&#xe640;</i></button>
<button class="layui-btn layui-btn-sm"><i class="layui-icon">&#xe641;</i></button>
<br>
<button class="layui-btn layui-btn-normal layui-btn-sm"><i class="layui-icon">&#xe600;</i></button>
<button class="layui-btn layui-btn-normal layui-btn-sm"><i class="layui-icon">&#xe603;</i></button>
<button class="layui-btn layui-btn-normal layui-btn-sm"><i class="layui-icon">&#xe602;</i></button>
<button class="layui-btn layui-btn-normal layui-btn-sm"><i class="layui-icon">&#xe642;</i></button>
<button class="layui-btn layui-btn-normal layui-btn-sm"><i class="layui-icon">&#xe640;</i></button>
<button class="layui-btn layui-btn-normal layui-btn-sm"><i class="layui-icon">&#xe641;</i></button>
</div>
</div>
</div>
</div>
<div class="layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">按钮圆角</div>
<div class="layui-card-body">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-primary layui-btn-radius">原始按钮</button>
<button class="layui-btn layui-btn-radius">默认按钮</button>
<button class="layui-btn layui-btn-normal layui-btn-radius">百搭按钮</button>
<button class="layui-btn layui-btn-warm layui-btn-radius">暖色按钮</button>
<button class="layui-btn layui-btn-danger layui-btn-radius">警告按钮</button>
<button class="layui-btn layui-btn-disabled layui-btn-radius">禁用按钮</button>
</div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">按钮混搭</div>
<div class="layui-card-body">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-lg layui-btn-primary layui-btn-radius">大型加圆角</button>
<a href="http://www.baidu.com#/doc/element/button.html" class="layui-btn" target="_blank">跳转的按钮</a>
<button class="layui-btn layui-btn-sm layui-btn-normal"><i class="layui-icon">&#xe640;</i> 删除</button>
<button class="layui-btn layui-btn-xs layui-btn-disabled"><i class="layui-icon">&#xe641;</i> 分享</button>
</div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">按钮组合</div>
<div class="layui-card-body">
<div class="layui-btn-container">
<div class="layui-btn-group">
<button class="layui-btn">增加</button>
<button class="layui-btn ">编辑</button>
<button class="layui-btn">删除</button>
</div>
</div>
<div class="layui-btn-container">
<div class="layui-btn-group">
<button class="layui-btn layui-btn-sm"><i class="layui-icon">&#xe654;</i></button>
<button class="layui-btn layui-btn-sm"><i class="layui-icon">&#xe642;</i></button>
<button class="layui-btn layui-btn-sm"><i class="layui-icon">&#xe640;</i></button>
<button class="layui-btn layui-btn-sm"><i class="layui-icon">&#xe602;</i></button>
</div>
<div class="layui-btn-group">
<button class="layui-btn layui-btn-primary layui-btn-sm">文字</button>
<button class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon">&#xe654;</i></button>
<button class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon">&#xe642;</i></button>
<button class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon">&#xe640;</i></button>
</div>
</div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">按钮铺满</div>
<div class="layui-card-body">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-fluid">好雨知时节</button>
<button class="layui-btn layui-btn-fluid">当春乃发生</button>
<button class="layui-btn layui-btn-fluid">随风潜入夜</button>
<button class="layui-btn layui-btn-fluid">润物细无声</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$
,admin = layui.admin
,element = layui.element;
});
</script>

View File

@@ -0,0 +1,217 @@
<title>轮播</title>
<style>
/* 为了区分效果 */
#LAY-demo-carousel div[carousel-item]>*{text-align: center; line-height: 280px; color: #5F5F5F;}
#LAY-demo-carousel div[carousel-item]>*:nth-child(2n){background-color: #E2E2E2;}
#LAY-demo-carousel div[carousel-item]>*:nth-child(2n+1){background-color: #eee;}
#test-carousel-normal-2 div[carousel-item]>*{line-height: 120px;}
</style>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>轮播</cite></a>
</div>
</div>
<div class="layui-fluid" id="LAY-demo-carousel">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">常规轮播</div>
<div class="layui-card-body">
<div class="layui-carousel" id="test-carousel-normal" lay-filter="test-carousel-normal">
<div carousel-item="">
<div>条目1</div>
<div>条目2</div>
<div>条目3</div>
<div>条目4</div>
<div>条目5</div>
</div>
</div>
<div class="layui-carousel" id="test-carousel-normal-2" style="margin-top: 15px;">
<div carousel-item="">
<div>条目1</div>
<div>条目2</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">设定各种参数</div>
<div class="layui-card-body">
<div class="layui-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">宽高</label>
<div class="layui-input-inline" style="width: 98px;">
<input type="tel" name="width" value="600" autocomplete="off" placeholder="width" class="layui-input test-carousel-demoSet">
</div>
<div class="layui-input-inline" style="width: 98px;">
<input type="tel" name="height" value="280" autocomplete="off" placeholder="height" class="layui-input test-carousel-demoSet">
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">动画类型</label>
<div class="layui-input-block">
<div class="layui-btn-group test-carousel-demoTest" style="margin-top: 5px;">
<button class="layui-btn layui-btn-sm" style="background-color: #16b777;" data-type="set" data-key="anim" data-value="default">左右切换</button>
<button class="layui-btn layui-btn-sm" data-type="set" data-key="anim" data-value="updown">上下切换</button>
<button class="layui-btn layui-btn-sm" data-type="set" data-key="anim" data-value="fade">渐隐渐显</button>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">箭头状态</label>
<div class="layui-input-block">
<div class="layui-btn-group test-carousel-demoTest" style="margin-top: 5px;">
<button class="layui-btn layui-btn-sm" style="background-color: #16b777;" data-type="set" data-key="arrow" data-value="hover">悬停显示</button>
<button class="layui-btn layui-btn-sm" data-type="set" data-key="arrow" data-value="always">始终显示</button>
<button class="layui-btn layui-btn-sm" data-type="set" data-key="arrow" data-value="none">不显示</button>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">指示器位置</label>
<div class="layui-input-block">
<div class="layui-btn-group test-carousel-demoTest" style="margin-top: 5px;">
<button class="layui-btn layui-btn-sm" style="background-color: #16b777;" data-key="indicator" data-type="set" data-value="inside">容器内部</button>
<button class="layui-btn layui-btn-sm" data-type="set" data-key="indicator" data-value="outside">容器外部</button>
<button class="layui-btn layui-btn-sm" data-type="set" data-key="indicator" data-value="none">不显示</button>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">自动切换</label>
<div class="layui-input-block">
<input type="checkbox" name="switch" lay-skin="switch" checked="" lay-text="ON|OFF" lay-filter="test-carousel-autoplay">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label" style="width: auto;">时间间隔</label>
<div class="layui-input-inline" style="width: 120px;">
<input type="tel" name="interval" value="3000" autocomplete="off" placeholder="毫秒" class="layui-input test-carousel-demoSet">
</div>
</div>
</div>
</div>
<div class="layui-carousel" id="test-carousel-demo" lay-filter="test-carousel-demo">
<div carousel-item="">
<div>条目1</div>
<div>条目2</div>
<div>条目3</div>
<div>条目4</div>
<div>条目5</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">填充轮播元素 - 以图片为例</div>
<div class="layui-card-body">
<div class="layui-carousel" id="test-carousel-img">
<div carousel-item="">
<div><img src="https://unpkg.com/outeres/demo/carousel/720x360-1.jpg"></div>
<div><img src="https://unpkg.com/outeres/demo/carousel/720x360-2.jpg"></div>
<div><img src="https://unpkg.com/outeres/demo/carousel/720x360-3.jpg"></div>
<div><img src="https://unpkg.com/outeres/demo/carousel/720x360-4.jpg"></div>
<div><img src="https://unpkg.com/outeres/demo/carousel/720x360-5.jpg"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'carousel', 'form'], function(){
var carousel = layui.carousel
,form = layui.form;
//常规轮播
carousel.render({
elem: '#test-carousel-normal'
,arrow: 'always'
});
//改变下时间间隔、动画类型、高度
carousel.render({
elem: '#test-carousel-normal-2'
,interval: 1800
,anim: 'fade'
,height: '120px'
});
//设定各种参数
var ins3 = carousel.render({
elem: '#test-carousel-demo'
});
//图片轮播
carousel.render({
elem: '#test-carousel-img'
,width: '720px'
,height: '360px'
,interval: 5000
});
//事件
carousel.on('change(test-carousel-demo)', function(res){
console.log(res)
});
var $ = layui.$, active = {
set: function(othis){
var THIS = 'layui-bg-normal'
,key = othis.data('key')
,options = {};
othis.css('background-color', '#16b777').siblings().removeAttr('style');
options[key] = othis.data('value');
ins3.reload(options);
}
};
//开关
form.on('switch(test-carousel-autoplay)', function(){
ins3.reload({
autoplay: this.checked
});
});
$('.test-carousel-demoSet').on('keyup', function(){
var value = this.value
,options = {};
if(!/^\d+$/.test(value)) return;
options[this.name] = value;
ins3.reload(options);
});
//其它示例
$('.test-carousel-demoTest .layui-btn').on('click', function(){
var othis = $(this), type = othis.data('type');
active[type] ? active[type].call(this, othis) : '';
});
});
</script>

View File

@@ -0,0 +1,237 @@
<title>代码修饰</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>代码修饰</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">语法高亮</div>
<div class="layui-card-body">
<pre id="test" class="layui-test">
<textarea class="layui-hide">
<div class="layui-btn-container">
<button type="button" class="layui-btn">默认按钮</button>
</div>
<p class="layui-padding-3">
AaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaA
</p>
<div class="layui-btn-container">
<button class="layui-btn layui-btn-primary layui-border-green">主色按钮</button>
</div>
<script type="text/html">
<h3>{{= d.title }}</h3>
<ul>
{{# layui.each(d.list, function(index, item){ }}
<li>
<span>{{= item.modname }}</span>
<span>{{= item.alias }}</span>
<span>{{= item.site || '' }}</span>
</li>
{{# }); }}
<p>{{# if(d.list.length === 0){ }}
无数据
{{# } }}</p>
</ul>
</script>
<script>
layui.use(function () {
var layer = layui.layer;
const a = '1'
function aa(a, b) {
return '11'
}
layer.msg(layui.v)
})
</script>
</textarea>
</pre>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">默认修饰</div>
<div class="layui-card-body">
<pre class="layui-code">// 在里面放置任意的文本内容
test
test
</pre>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">深色模式</div>
<div class="layui-card-body">
<pre class="layui-code" lay-options="{title: 'Custom Title', skin: 'dark'}">// 在里面放置任意的文本内容
test
test
</pre>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">固定高度</div>
<div class="layui-card-body">
<pre class="layui-code" lay-options="{height: '160px'}">// 在里面放置任意的文本内容
test
test
test
code line
code line
code line
code line
code line
</pre>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">不显示行号</div>
<div class="layui-card-body">
<pre class="layui-code" lay-options="{ln: false}">// 不显示行号v2.7.3 新增)
test
test
</pre>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.staticfile.org/highlight.js/11.8.0/highlight.min.js"></script>
<script src="https://cdn.staticfile.org/prism/1.29.0/prism.min.js"></script>
<script>
layui.use(['code', 'dropdown'], function(){
var dropdown = layui.dropdown;
var $ = layui.$;
// return;
// 高亮主题 css 库
var themeData = $.map([
// hljs 主题库
'https://cdn.staticfile.org/highlight.js/11.8.0/styles/vs2015.min.css',
'https://cdn.staticfile.org/highlight.js/11.8.0/styles/vs.min.css',
'https://cdn.staticfile.org/highlight.js/11.8.0/styles/github-dark.min.css',
'https://cdn.staticfile.org/highlight.js/11.8.0/styles/github.min.css',
'https://cdn.staticfile.org/highlight.js/11.8.0/styles/base16/google-dark.min.css',
'https://cdn.staticfile.org/highlight.js/11.8.0/styles/base16/google-light.min.css',
'https://cdn.staticfile.org/highlight.js/11.8.0/styles/monokai-sublime.min.css',
'-',
// prism 主题库
'https://cdn.staticfile.org/prism/1.29.0/themes/prism-dark.min.css',
'https://cdn.staticfile.org/prism/1.29.0/themes/prism.min.css'
], function(v, index) {
return {
title: v,
link: v,
highlighter: v.indexOf('prism') === -1 ? 'hljs' : 'prism',
type: v === '-' ? '-' : 'normal'
};
});
var codeInst = layui.code({
elem: '#test',
preview: true,
codeStyle: 'height: 510px;',
previewStyle: 'word-wrap: break-word;',
// theme: 'dark',
// header: true,
// wordWrap: false, // 是否自动换行
/*
lang: 'html',
highlighter: "hljs",
codeRender: function (code, opts) {
layui.link(themeData[1].link, 'layui-code-theme');
return hljs.highlight(code, {language: opts.lang}).value;
},*/
tools: [
'full',
{
title: ['文字换行'],
type: 'form',
event: function(obj) {
dropdown.render({
elem: obj.elem,
data: [{title: '自动换行', wordWrap: true}, {title: '不自动换行', wordWrap: false}],
show: true,
click: function(data, othis) {
codeInst.reload({
wordWrap: data.wordWrap
});
}
});
}
},
{
title: ['切换高亮主题'],
type: 'theme',
event: function(obj) {
dropdown.render({
elem: obj.elem,
data: themeData,
show: true,
click: function(data, othis) {
$('#layuicss-layui-code-theme').remove();
layui.link(data.link, 'layui-code-theme');
// 若高亮器有变化,则重载
if (data.highlighter !== codeInst.config.highlighter) {
var highlighter = {
hljs: function(code, opts) {
return hljs.highlight(code, {
language: opts.lang
}).value;
},
prism: function(code, opts) {
return Prism.highlight(
code,
Prism.languages[opts.lang],
opts.lang
);
}
};
// 重载
codeInst.reload({
highlighter: data.highlighter,
codeRender: function (code, opts) {
return highlighter[data.highlighter](code, opts);
}
});
}
}
});
}
}
]
});
// 仅重载 code
layui.debounce(function() {
codeInst.reload({
lang: 'html',
highlighter: "hljs",
codeRender: function(code, opts) {
layui.link(themeData[1].link, 'layui-code-theme');
return hljs.highlight(code, {language: opts.lang}).value;
}
});
}, 300)();
// 通用实例,根据元素属性定制化参数
layui.code({
elem: '.layui-code'
});
});
</script>

View File

@@ -0,0 +1,190 @@
<title>颜色选择器组件</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>颜色选择器组件</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">常规使用</div>
<div class="layui-card-body">
<div id="test-colorpicker-dome1"></div>
<div id="test-colorpicker-dome2" style="margin-left: 10px;"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">表单赋值</div>
<div class="layui-card-body">
<form class="layui-form" action="">
<div class="layui-form-item">
<div class="layui-input-inline" style="width: 120px;">
<input type="text" value="" placeholder="请选择颜色" class="layui-input" id="test-colorpicker-form-input">
</div>
<div class="layui-inline" style="left: -11px;">
<div id="test-colorpicker-dome3"></div>
</div>
</div>
</form>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">RGB / RGBA 色值</div>
<div class="layui-card-body">
<div id="test-colorpicker-dome4"></div>
<div id="test-colorpicker-dome5" style="margin-left: 30px;"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">透明度选择</div>
<div class="layui-card-body">
<div id="test-colorpicker-dome6"></div>
<div id="test-colorpicker-dome7" style="margin-left: 30px;"></div>
<div id="test-colorpicker-dome8" style="margin-left: 30px;"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">预定义颜色项</div>
<div class="layui-card-body">
<div id="test-colorpicker-dome9"></div>
<div id="test-colorpicker-dome10" style="margin-left: 30px;"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">全功能和回调的使用</div>
<div class="layui-card-body">
<input type="hidden" name="color" value="" id="test-colorpicker-all-input">
<div id="test-colorpicker-dome11"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">颜色框尺寸</div>
<div class="layui-card-body">
<div id="test-colorpicker-dome12"></div>
<div id="test-colorpicker-dome13" style="margin-left: 30px;"></div>
<div id="test-colorpicker-dome14" style="margin-left: 30px;"></div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'colorpicker'], function(){
var $ = layui.$
,colorpicker = layui.colorpicker;
//常规使用
colorpicker.render({
elem: '#test-colorpicker-dome1' //绑定元素
,change: function(color){ //颜色改变的回调
layer.tips('选择了:'+ color, this.elem, {
tips: 1
});
}
});
//初始色值
colorpicker.render({
elem: '#test-colorpicker-dome2'
,color: '#2ec770' //设置默认色
,done: function(color){
layer.tips('选择了:'+ color, this.elem);
}
});
//表单赋值
colorpicker.render({
elem: '#test-colorpicker-dome3'
,color: '#1c97f5'
,done: function(color){
$('#test-colorpicker-form-input').val(color);
}
});
//RGB 、RGBA
colorpicker.render({
elem: '#test-colorpicker-dome4'
,color: 'rgb(68,66,66)'
,format: 'rgb' //默认为 hex
});
colorpicker.render({
elem: '#test-colorpicker-dome5'
,color: 'rgba(68,66,66,0.5)'
,format: 'rgb'
,alpha: true //开启透明度滑块
});
//开启透明度
colorpicker.render({
elem: '#test-colorpicker-dome6'
,color: '#16baaa' //hex
,alpha: true //开启透明度
,format: 'rgb'
});
colorpicker.render({
elem: '#test-colorpicker-dome7'
,color: 'rgb(0,150,136,0.6)' //rgba
,alpha: true
,format: 'rgb'
});
colorpicker.render({ //无初始色值时
elem: '#test-colorpicker-dome8'
,alpha: true
,format: 'rgb'
});
//预定义颜色项
colorpicker.render({
elem: '#test-colorpicker-dome9'
,color: '#c71585'
,predefine: true // 开启预定义颜色
});
colorpicker.render({
elem: '#test-colorpicker-dome10'
,color: '#9d8a0e'
,predefine: true // 开启预定义颜色
,colors: ['#ff8c00','#00ced1','#9d8a0e'] //自定义预定义颜色项
});
//开启全功能
colorpicker.render({
elem: '#test-colorpicker-dome11'
,color: 'rgba(7, 155, 140, 1)'
,format: 'rgb'
,predefine: true
,alpha: true
,done: function(color){
$('#test-colorpicker-all-input').val(color); //向隐藏域赋值
layer.tips('给指定隐藏域设置了颜色值:'+ color, this.elem);
color || this.change(color); //清空时执行 change
}
,change: function(color){
//给当前页面头部和左侧设置主题色
$('.layui-side-menu,.layui-logo').css('cssText', 'background-color: '+ color + ' !important;');
}
});
//设定颜色框尺寸
colorpicker.render({
elem: '#test-colorpicker-dome12'
,size: 'lg' //大号下拉框
});
colorpicker.render({
elem: '#test-colorpicker-dome13'
//,size: 'sm' //默认 sm
});
colorpicker.render({
elem: '#test-colorpicker-dome14'
,size: 'xs' //mini下拉框
});
});
</script>

View File

@@ -0,0 +1,572 @@
<title>下拉菜单</title>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">初演示</div>
<div class="layui-card-body">
<div class="layui-btn-container">
<button class="layui-btn test-dropdown-demo1">
下拉菜单
<i class="layui-icon layui-icon-down layui-font-12"></i>
</button>
<button class="layui-btn layui-btn-primary test-dropdown-demo1">
下拉菜单
<i class="layui-icon layui-icon-down layui-font-12"></i>
</button>
<button class="layui-btn" id="test-dropdown-demo100">
无限层级 + 跳转 + 事件 + 自定义模板
</button>
</div>
<div class="layui-inline" style="width: 235px;">
<input name="" placeholder="在输入框提供一些常用的选项" class="layui-input" id="test-dropdown-demo2">
</div>
<div class="layui-inline layui-word-aux layui-font-gray">
可以绑定任意元素,<a href="javascript:;" class="layui-font-blue" id="test-dropdown-demo3">比如这段文字 <i class="layui-icon layui-font-12 layui-icon-down"></i></a>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">在表格中的应用</div>
<div class="layui-card-body">
<table class="layui-hide" id="test-dropdown-table" lay-filter="test-dropdown-table"></table>
<script type="text/html" id="test-dropdown-toolbar-barDemo">
<a class="layui-btn layui-btn-xs layui-btn-primary" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-xs" lay-event="more">更多 <i class="layui-icon layui-icon-down"></i></a>
</script>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">自定义事件</div>
<div class="layui-card-body">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-primary" id="test-dropdown-demo4">
hover
<i class="layui-icon layui-icon-more-vertical layui-font-12"></i>
</button>
<button class="layui-btn layui-btn-primary" id="test-dropdown-demo5">
mousedown
<i class="layui-icon layui-icon-down layui-font-12"></i>
</button>
<button class="layui-btn layui-btn-primary" id="test-dropdown-demo6">
dblclick - 双击
<i class="layui-icon layui-icon-circle layui-font-12"></i>
</button>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">右键菜单</div>
<div class="layui-card-body">
<div class="layui-bg-gray" style="height: 260px; text-align: center;" id="test-dropdown-demo7">
<span class="layui-font-gray" style="position: relative; top:50%;">在此区域单击鼠标右键</span>
</div>
<button class="layui-btn" style="margin-top: 15px;" lay-demoactive="rightclick">
开启全局右键菜单
</button>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">重定义风格</div>
<div class="layui-card-body">
<div class="layui-btn-container">
<button class="layui-btn" id="test-dropdown-demo8">
重定义样式
<i class="layui-icon layui-icon-list layui-font-14"></i>
</button>
<style>
.test-dropdown-demo,
.test-dropdown-demo .layui-menu{background-color: #000; border: none;}
.test-dropdown-demo .layui-menu li{color: #fff;}
.test-dropdown-demo .layui-menu li:hover{background-color: #333;}
</style>
<button class="layui-btn" id="test-dropdown-demo9">
重定义内容
<i class="layui-icon layui-icon-list layui-font-14"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'dropdown', 'util', 'layer', 'table'], function(){
var dropdown = layui.dropdown
,util = layui.util
,layer = layui.layer
,table = layui.table
,$ = layui.jquery;
//初演示
dropdown.render({
elem: '.test-dropdown-demo1'
,data: [{
title: 'menu item11'
,id: 100
},{
title: 'menu item22'
,id: 101
},{
title: 'menu item33'
,id: 102
}]
,click: function(obj){
layer.tips('点击了:'+ obj.title, this.elem, {tips: [1, '#16b777']})
}
});
//初演示 - 绑定输入框
dropdown.render({
elem: '#test-dropdown-demo2'
,data: [{
title: 'menu item 1'
,id: 101
},{
title: 'menu item 2'
,id: 102
},{
title: 'menu item 3'
,id: 103
},{
title: 'menu item 4'
,id: 104
},{
title: 'menu item 5'
,id: 105
},{
title: 'menu item 6'
,id: 106
}]
,click: function(obj){
this.elem.val(obj.title);
}
,style: 'width: 235px;'
});
//初演示 - 绑定文字
dropdown.render({
elem: '#test-dropdown-demo3'
,data: [{
title: 'menu item 1'
,id: 100
},{
title: 'menu item 2'
,id: 101
,child: [{ //横向子菜单
title: 'menu item 2-1'
,id: 1011
},{
title: 'menu item 2-2'
,id: 1012
}]
},{
title: 'menu item 3'
,id: 102
},{
type: '-' //分割线
},{
title: 'menu group'
,id: 103
,type: 'group' //纵向菜单组
,child: [{
title: 'menu item 4-1'
,id: 1031
},{
title: 'menu item 4-2'
,id: 1032
}]
},{
type: '-' //分割线
},{
title: 'menu item 5'
,id: 104
},{
title: 'menu item 5'
,id: 104
}]
,click: function(obj){
this.elem.val(obj.title);
}
});
//无限层级
dropdown.render({
elem: '#test-dropdown-demo100'
,data: [{
title: 'menu item 1'
,templet: '<i class="layui-icon layui-icon-picture"></i> {{d.title}} <span class="layui-badge-dot"></span>'
,id: 100
,href: '#'
},{
title: 'menu item 2'
,templet: '<img src="https://unpkg.com/outeres/demo/layer.png?t=123" style="width: 16px;"> {{d.title}}'
,id: 101
,href: '/'
,target: '_blank'
}
,{type: '-'} //分割线
,{
title: 'menu item 3'
,id: 102
,type: 'group'
,child: [{
title: 'menu item 3-1'
,id: 103
},{
title: 'menu item 3-2'
,id: 104
,child: [{
title: 'menu item 3-2-1'
,id: 105
},{
title: 'menu item 3-2-2'
,id: 11
,type: 'group'
,child: [{
title: 'menu item 3-2-2-1'
,id: 111
},{
title: 'menu item 3-2-2-2'
,id: 1111
}]
},{
title: 'menu item 3-2-3'
,id: 11111
}]
},{
title: 'menu item 3-3'
,id: 111111
,type: 'group'
,child: [{
title: 'menu item 3-3-1'
,id: 22
},{
title: 'menu item 3-3-2'
,id: 222
,child: [{
title: 'menu item 3-3-2-1'
,id: 2222
},{
title: 'menu item 3-3-2-2'
,id: 22222
},{
title: 'menu item 3-3-2-3'
,id: 2222222
}]
},{
title: 'menu item 3-3-3'
,id: 333
}]
}]
}
,{type: '-'}
,{
title: 'menu item 4'
,id: 4
},{
title: 'menu item 5'
,id: 5
,child: [{
title: 'menu item 5-1'
,id: 55
,child: [{
title: 'menu item 5-1-1'
,id: 5555
},{
title: 'menu item 5-1-2'
,id: 55555
},{
title: 'menu item 5-1-3'
,id: 555555
}]
},{
title: 'menu item 5-2'
,id: 52
},{
title: 'menu item 5-3'
,id: 53
}]
},{type:'-'},{
title: 'menu item 6'
,id: 66
,type: 'group'
,isSpreadItem: false
,child: [{
title: 'menu item 6-1'
,id: 777
},{
title: 'menu item 6-2'
,id: 7777
},{
title: 'menu item 6-3'
,id: 77777
}]
}]
,click: function(item){
layer.msg(util.escape(JSON.stringify(item)));
}
});
// dropdown 在表格中的应用
table.render({
elem: '#test-dropdown-table'
,url:'./res/json/table/demo.js'
,title: '用户数据表'
,cols: [[
{type: 'checkbox', fixed: 'left'}
,{field:'id', title:'ID', width:80, fixed: 'left', unresize: true, sort: true}
,{field:'username', title:'用户名', width:120, edit: 'text'}
,{field:'email', title:'邮箱', minWidth:150}
,{fixed: 'right', title:'操作', toolbar: '#test-dropdown-toolbar-barDemo', width:150}
]]
,height: 355
,page: true
});
//行工具事件
table.on('tool(test-dropdown-table)', function(obj){
var that = this
,data = obj.data;
if(obj.event === 'edit'){
layer.prompt({
formType: 2
,value: data.email
}, function(value, index){
obj.update({
email: value
});
layer.close(index);
});
} else if(obj.event === 'more'){
//更多下拉菜单
dropdown.render({
elem: that
,show: true //外部事件触发即显示
,data: [{
title: 'item 1'
,id: 'aaa'
}, {
title: 'item 2'
,id: 'bbb'
}, {
title: '删除'
,id: 'del'
}]
,click: function(data, othis){
//根据 id 做出不同操作
if(data.id === 'del'){
layer.confirm('真的删除行么', function(index){
obj.del();
layer.close(index);
});
} else {
layer.msg('得到表格下拉菜单 id'+ data.id);
}
}
,style: 'margin-left: -45px; box-shadow: 1px 1px 10px rgb(0 0 0 / 12%);' //设置额外样式
});
}
});
//自定义事件 - hover
dropdown.render({
elem: '#test-dropdown-demo4'
,trigger: 'hover'
,data: [{
title: 'menu item 1'
,id: 100
},{
title: 'menu item 2'
,id: 101
},{
title: 'menu item 3'
,id: 102
}]
});
//自定义事件 - mousedown
dropdown.render({
elem: '#test-dropdown-demo5'
,trigger: 'mousedown'
,data: [{
title: 'menu item 1'
,id: 100
},{
title: 'menu item 2'
,id: 101
},{
title: 'menu item 3'
,id: 102
}]
});
//自定义事件 - dblclick
dropdown.render({
elem: '#test-dropdown-demo6'
,trigger: 'dblclick'
,data: [{
title: 'menu item 1'
,id: 100
},{
title: 'menu item 2'
,id: 101
},{
title: 'menu item 3'
,id: 102
}]
});
//右键菜单
var inst = dropdown.render({
elem: '#test-dropdown-demo7' //也可绑定到 document从而重置整个右键
,trigger: 'contextmenu' //contextmenu
,isAllowSpread: false //禁止菜单组展开收缩
,style: 'width: 200px' //定义宽度,默认自适应
,id: 'test777' //定义唯一索引
,data: [{
title: 'menu item 1'
,id: 'test'
}, {
title: 'Printing'
,id: 'print'
},{
title: 'Reload'
,id: 'reload'
},{type:'-'},{
title: 'menu item 3'
,id: '#3'
,child: [{
title: 'menu item 3-1'
,id: '#1'
},{
title: 'menu item 3-2'
,id: '#2'
},{
title: 'menu item 3-3'
,id: '#3'
}]
},{type:'-'},{
title: 'menu item 4'
,id: ''
},{
title: 'menu item 5'
,id: '#1'
},{
title: 'menu item 6'
,id: '#1'
}]
,click: function(obj, othis){
if(obj.id === 'test'){
layer.msg('click');
} else if(obj.id === 'print'){
window.print();
} else if(obj.id === 'reload'){
location.reload();
}
}
});
//重定义样式
dropdown.render({
elem: '#test-dropdown-demo8'
,data: [{
title: 'menu item 1'
,id: 100
},{
title: 'menu item 2'
,id: 101
},{
title: 'menu item 3'
,id: 103
},{
title: 'menu item 4'
,id: 104
},{
title: 'menu item 5'
,id: 105
},{
title: 'menu item 6'
,id: 106
}]
,className: 'test-dropdown-demo'
,ready: function(elemPanel, elem){
layer.msg('定义了一个 className');
}
});
//重定义内容
dropdown.render({
elem: '#test-dropdown-demo9'
,content: ['<div class="layui-tab layui-tab-brief">'
,'<ul class="layui-tab-title">'
,'<li class="layui-this">Tab header 1</li>'
,'<li>Tab header 2</li>'
,'<li>Tab header 3</li>'
,'</ul>'
,'<div class="layui-tab-content">'
,'<div class="layui-tab-item layui-text layui-show"><p style="padding-bottom: 10px;">在 content 参数中插入任意的 html 内容,可替代默认的下拉菜单。 从而实现更多有趣的弹出内容。</p><p> 是否发现dropdown 组件不仅仅只是一个下拉菜单或者右键菜单,它能被赋予许多的想象可能。</p></div>'
,'<div class="layui-tab-item">Tab body 2</div>'
,'<div class="layui-tab-item">Tab body 3</div>'
,'</div>'
,'</div>'].join('')
,style: 'width: 370px; height: 200px; padding: 0 15px; box-shadow: 1px 1px 30px rgb(0 0 0 / 12%);'
,ready: function(){
layui.use('element', function(element){
element.render('tab');
});
}
});
//其他操作
util.event('lay-demoactive', {
//全局右键菜单
rightclick: function(othis){
if(!othis.data('open')){
dropdown.reload('test777', {
elem: document //将事件直接绑定到 document
});
layer.msg('已开启全局右键菜单,请尝试在页面任意处单击右键。')
othis.html('取消全局右键菜单');
othis.data('open', true);
} else {
dropdown.reload('test777', {
elem: '#test-dropdown-demo7' //重新绑定到指定元素上
});
layer.msg('已取消全局右键菜单,恢复默认右键菜单')
othis.html('开启全局右键菜单');
othis.data('open', false);
}
}
})
});
</script>

View File

@@ -0,0 +1,119 @@
<title>流加载</title>
<!-- 以下样式仅供演示 -->
<style>
#LAY-flow-demo .flow-default{width: 600px; height: 400px; overflow: auto; font-size: 0;}
#LAY-flow-demo .flow-default li{display: inline-block; margin: 0 5px; font-size: 14px; width: 48%; margin-bottom: 10px; height: 100px; line-height: 100px; text-align: center; background-color: #eee;}
#LAY-flow-demo .flow-default img{width: 100%; height: 100%;}
#LAY-flow-demo .site-demo-flow{width: 600px; height: 300px; overflow: auto; text-align: center;}
#LAY-flow-demo .site-demo-flow img{width: 40%; height: 200px; margin: 0 2px 5px 0; border: none;}
@media screen and (max-width: 768px) {
#LAY-flow-demo .flow-default,
#LAY-flow-demo .site-demo-flow{width: 100%;}
#LAY-flow-demo .flow-default li{width: 45%}
#LAY-flow-demo .site-demo-flow img{height: 150px;}
}
</style>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>流加载</cite></a>
</div>
</div>
<div class="layui-fluid" id="LAY-flow-demo">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">信息流 - 滚动加载</div>
<div class="layui-card-body">
<ul class="flow-default" id="test-flow-auto"></ul>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">信息流 - 手工加载</div>
<div class="layui-card-body">
<ul class="flow-default" style="height: 300px;" id="test-flow-manual"></ul>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">图片懒加载</div>
<div class="layui-card-body">
<div class="site-demo-flow" id="test-flow-lazyimg">
<img lay-src="https://unpkg.com/outeres@0.0.5/demo/000.jpg">
<img lay-src="https://unpkg.com/outeres@0.0.5/demo/000.jpg">
<img lay-src="https://unpkg.com/outeres@0.0.5/demo/000.jpg">
<img lay-src="https://unpkg.com/outeres@0.0.5/demo/000.jpg">
<img lay-src="https://unpkg.com/outeres@0.0.5/demo/000.jpg">
<img lay-src="https://unpkg.com/outeres@0.0.5/demo/000.jpg">
<img lay-src="https://unpkg.com/outeres@0.0.5/demo/000.jpg">
<img lay-src="https://unpkg.com/outeres@0.0.5/demo/000.jpg">
<img lay-src="https://unpkg.com/outeres@0.0.5/demo/000.jpg">
<img lay-src="https://unpkg.com/outeres@0.0.5/demo/000.jpg">
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'flow'], function(){
var flow = layui.flow;
flow.load({
elem: '#test-flow-auto' //流加载容器
,scrollElem: '#test-flow-auto' //滚动条所在元素,一般不用填,此处只是演示需要。
,done: function(page, next){ //执行下一页的回调
//模拟数据插入
setTimeout(function(){
var lis = [];
for(var i = 0; i < 8; i++){
lis.push('<li>'+ ( (page-1)*8 + i + 1 ) +'</li>')
}
//执行下一页渲染,第二参数为:满足“加载更多”的条件,即后面仍有分页
//pages为Ajax返回的总页数只有当前页小于总页数的情况下才会继续出现加载更多
next(lis.join(''), page < 10); //假设总页数为 10
}, 500);
}
});
flow.load({
elem: '#test-flow-manual' //流加载容器
,scrollElem: '#test-flow-manual' //滚动条所在元素,一般不用填,此处只是演示需要。
,isAuto: false
,isLazyimg: true
,done: function(page, next){ //加载下一页
//模拟插入
setTimeout(function(){
var lis = [];
for(var i = 0; i < 6; i++){
lis.push('<li><img lay-src="https://unpkg.com/outeres@0.0.5/demo/000.jpg?v='+ ( (page-1)*6 + i + 1 ) +'"></li>')
}
next(lis.join(''), page < 6); //假设总页数为 6
}, 500);
}
});
//按屏加载图片
flow.lazyimg({
elem: '#test-flow-lazyimg img'
,scrollElem: '#test-flow-lazyimg' //一般不用设置,此处只是演示需要。
});
});
</script>

View File

@@ -0,0 +1,331 @@
<title>表单元素</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>表单</cite></a>
<a><cite>表单元素</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
</style>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">输入框</div>
<div class="layui-card-body layui-row layui-col-space10 layui-form">
<div class="layui-col-md12">
<input type="text" name="title" placeholder="请输入标题" autocomplete="off" class="layui-input">
</div>
<div class="layui-col-md6">
<input type="text" name="title" placeholder="用户名" autocomplete="off" class="layui-input" lay-affix="clear">
</div>
<div class="layui-col-md6">
<input type="password" name="title" placeholder="密码" autocomplete="off" class="layui-input" lay-affix="eye">
</div>
<div class="layui-col-xs6">
<input type="number" lay-affix="number" placeholder="设置 step 为 0.01" step="0.01" class="layui-input">
</div>
<div class="layui-col-xs6">
<input type="number" lay-affix="number" placeholder="设置 step,min,max" step="10" min="0" max="100" class="layui-input">
</div>
<div class="layui-col-xs6">
<input type="number" lay-affix="number" readonly placeholder="不允许输入状态" class="layui-input">
</div>
<div class="layui-col-xs6">
<input type="number" lay-affix="number" disabled placeholder="禁用状态" class="layui-input">
</div>
<div class="layui-col-md4">
<div class="layui-input-wrap">
<div class="layui-input-prefix">
<i class="layui-icon layui-icon-username"></i>
</div>
<input type="text" placeholder="带前缀" class="layui-input">
</div>
</div>
<div class="layui-col-md4">
<div class="layui-input-wrap">
<input type="text" placeholder="带后缀" class="layui-input">
<div class="layui-input-suffix">
<i class="layui-icon layui-icon-more-vertical"></i>
</div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-input-wrap">
<div class="layui-input-prefix">
<i class="layui-icon layui-icon-date"></i>
</div>
<input type="text" placeholder="带前缀和后缀" class="layui-input">
<div class="layui-input-suffix">
<i class="layui-icon layui-icon-down"></i>
</div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-input-wrap">
<div class="layui-input-prefix layui-input-split">
<i class="layui-icon layui-icon-password"></i>
</div>
<input type="password" placeholder="带前缀加分隔框" class="layui-input">
</div>
</div>
<div class="layui-col-md4">
<div class="layui-input-wrap">
<input type="text" placeholder="带后缀加分隔框" class="layui-input">
<div class="layui-input-suffix layui-input-split">
<i class="layui-icon layui-icon-down"></i>
</div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-input-wrap">
<div class="layui-input-prefix layui-input-split">
<i class="layui-icon layui-icon-date"></i>
</div>
<input type="text" placeholder="带前缀和后缀加分割框" class="layui-input">
<div class="layui-input-suffix layui-input-split">
<i class="layui-icon layui-icon-down"></i>
</div>
</div>
</div>
<div class="layui-col-md6">
<div class="layui-input-wrap">
<div class="layui-input-prefix">
<i class="layui-icon layui-icon-location"></i>
</div>
<input type="text" placeholder="带前缀无分割框和后缀有分割框" class="layui-input">
<div class="layui-input-suffix layui-input-split">
<i class="layui-icon layui-icon-edit"></i>
</div>
</div>
</div>
<div class="layui-col-md6">
<div class="layui-input-wrap">
<div class="layui-input-prefix layui-input-split">
<i class="layui-icon layui-icon-location"></i>
</div>
<input type="text" placeholder="带前缀有分割框和后缀无分割框" class="layui-input">
<div class="layui-input-suffix">
<i class="layui-icon layui-icon-edit"></i>
</div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-input-wrap">
<div class="layui-input-prefix">
<i class="layui-icon layui-icon-form"></i>
</div>
<select>
<option value="">放置 select 元素</option>
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="广州">广州</option>
<option value="深圳">深圳</option>
</select>
</div>
</div>
</div>
</div>
<div class="layui-card layui-form" lay-filter="component-form-element">
<div class="layui-card-header">复选框</div>
<div class="layui-card-body layui-row layui-col-space10">
<div class="layui-col-md12">
<input type="checkbox" name="" title="写作" checked>
<input type="checkbox" name="" title="发呆">
<input type="checkbox" name="" title="禁用" disabled>
</div>
<div class="layui-col-md12">
<input type="checkbox" name="" title="写作" lay-skin="primary" checked>
<input type="checkbox" name="" title="发呆" lay-skin="primary">
<input type="checkbox" name="" title="禁用" lay-skin="primary" disabled>
<input type="checkbox" name="" lay-skin="primary">
</div>
</div>
</div>
<div class="layui-card layui-form" lay-filter="component-form-element">
<div class="layui-card-header">开关</div>
<div class="layui-card-body layui-row layui-col-space10">
<div class="layui-col-md12">
<input type="checkbox" name="xxx" lay-skin="switch">
<input type="checkbox" name="yyy" lay-skin="switch" lay-text="ON|OFF" checked>
<input type="checkbox" name="zzz" lay-skin="switch" lay-text="开启|关闭">
<input type="checkbox" name="aaa" lay-skin="switch" disabled>
</div>
</div>
</div>
<div class="layui-card layui-form" lay-filter="component-form-element">
<div class="layui-card-header">单选框</div>
<div class="layui-card-body layui-row layui-col-space10">
<div class="layui-col-md12">
<input type="radio" name="sex" value="nan" title="男">
<input type="radio" name="sex" value="nv" title="女" checked>
<input type="radio" name="sex" value="" title="中性" disabled>
</div>
</div>
</div>
</div>
<div class="layui-col-md6">
<div class="layui-card layui-form" lay-filter="component-form-element">
<div class="layui-card-header">下拉选择框</div>
<div class="layui-card-body layui-row layui-col-space10">
<div class="layui-col-md6">
<select name="city" lay-verify="">
<option value="">请选择一个城市</option>
<option value="010">北京</option>
<option value="021">上海</option>
<option value="0571">杭州</option>
</select>
</div>
<div class="layui-col-md6">
<select name="city" lay-verify="">
<option value="010">北京</option>
<option value="021" disabled>上海(禁用效果)</option>
<option value="0571" selected>杭州</option>
</select>
</div>
<div class="layui-col-md6">
<select name="quiz">
<option value="">请选择</option>
<optgroup label="城市记忆">
<option value="你工作的第一个城市">你工作的第一个城市?</option>
</optgroup>
<optgroup label="学生时代">
<option value="你的工号">你的工号?</option>
<option value="你最喜欢的老师">你最喜欢的老师?</option>
</optgroup>
</select>
</div>
<div class="layui-col-md6">
<select name="city" lay-verify="required" lay-search>
<option value="">带搜索的选择框</option>
<option value="1">layer</option>
<option value="2">form</option>
<option value="3">layim</option>
<option value="4">element</option>
<option value="5">laytpl</option>
<option value="6">upload</option>
<option value="7">laydate</option>
<option value="8">laypage</option>
<option value="9">flow</option>
<option value="10">util</option>
<option value="11">code</option>
<option value="12">tree</option>
<option value="13">layedit</option>
<option value="14">nav</option>
<option value="15">tab</option>
<option value="16">table</option>
<option value="17">select</option>
<option value="18">checkbox</option>
<option value="19">switch</option>
<option value="20">radio</option>
</select>
</div>
<div class="layui-col-md12">
<select name="city" lay-verify="">
<option value="">请选择一个城市</option>
<option value="010">北京</option>
<option value="021">上海</option>
<option value="0571">杭州</option>
</select>
</div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">响应式组合</div>
<div class="layui-card-body">
<form class="layui-form" action="" lay-filter="component-form-element">
<div class="layui-row layui-col-space10 layui-form-item">
<div class="layui-col-lg6">
<label class="layui-form-label">员工姓名:</label>
<div class="layui-input-block">
<input type="text" name="fullname" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-col-lg6">
<label class="layui-form-label">技术工种:</label>
<div class="layui-input-block">
<select name="type" lay-verify="required" lay-filter="aihao">
<option value=""></option>
<option value="0">前端工程师</option>
<option value="1">Node.js工程师</option>
<option value="2">PHP工程师</option>
<option value="3">Java工程师</option>
<option value="4">运维</option>
<option value="4">视觉设计师</option>
</select>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">兴趣爱好:</label>
<div class="layui-input-block">
<input type="checkbox" name="interest[write]" title="写作">
<input type="checkbox" name="interest[read]" title="阅读">
<input type="checkbox" name="interest[code]" title="代码" checked>
<input type="checkbox" name="interest[dreaming]" title="做梦">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">是否婚姻:</label>
<div class="layui-input-block">
<input type="checkbox" name="marriage" lay-skin="switch" lay-text="是|否">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">所属职称:</label>
<div class="layui-input-block">
<input type="radio" name="role" value="" title="经理">
<input type="radio" name="role" value="" title="主管">
<input type="radio" name="role" value="" title="码农" checked>
<input type="radio" name="role" value="" title="端水">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">其它信息:</label>
<div class="layui-input-block">
<textarea name="other" placeholder="文本域" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"> </label>
<div class="layui-input-block">
<input type="checkbox" name="agreement" title="同意" lay-skin="primary" checked>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="component-form-element">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'form'], function(){
var $ = layui.$
,admin = layui.admin
,element = layui.element
,form = layui.form;
form.render();
element.render('breadcrumb', 'breadcrumb');
form.on('submit(component-form-element)', function(data){
layer.alert(layui.util.escape(JSON.stringify(data.field)));
return false;
});
});
</script>

View File

@@ -0,0 +1,291 @@
<title>表单组合</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>表单</cite></a>
<a><cite>表单组合</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-header">表单组合</div>
<div class="layui-card-body" style="padding: 15px;">
<form class="layui-form" action="" lay-filter="component-form-group">
<div class="layui-form-item">
<label class="layui-form-label">单行输入框</label>
<div class="layui-input-block">
<input type="text" name="title" lay-verify="title" autocomplete="off" placeholder="请输入标题" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">验证必填项</label>
<div class="layui-input-block">
<input type="text" name="username" lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">验证手机</label>
<div class="layui-input-inline">
<input type="tel" name="phone" lay-verify="required|phone" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">验证邮箱</label>
<div class="layui-input-inline">
<input type="text" name="email" lay-verify="email" autocomplete="off" class="layui-input">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">多规则验证</label>
<div class="layui-input-inline">
<input type="text" name="number" lay-verify="required|number" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">验证日期</label>
<div class="layui-input-inline">
<input type="text" name="date" id="LAY-component-form-group-date" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">验证链接</label>
<div class="layui-input-inline">
<input type="tel" name="url" lay-verify="url" autocomplete="off" class="layui-input">
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">验证身份证</label>
<div class="layui-input-block">
<input type="text" name="identity" lay-verify="identity" placeholder="" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">自定义验证</label>
<div class="layui-input-inline">
<input type="password" name="password" lay-verify="pass" placeholder="请输入密码" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">请填写6到12位密码</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">数字输入框</label>
<div class="layui-input-inline" style="width: 100px;">
<input type="number" name="price_min" placeholder="" autocomplete="off" class="layui-input" lay-affix="number">
</div>
<div class="layui-form-mid">-</div>
<div class="layui-input-inline" style="width: 100px;">
<input type="number" name="price_max" placeholder="" autocomplete="off" class="layui-input" lay-affix="number">
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">单行选择框</label>
<div class="layui-input-block">
<select name="interest" lay-filter="aihao">
<option value=""></option>
<option value="0">写作</option>
<option value="1" selected="">阅读</option>
<option value="2">游戏</option>
<option value="3">音乐</option>
<option value="4">旅行</option>
</select>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">分组选择框</label>
<div class="layui-input-inline">
<select name="quiz">
<option value="">请选择问题</option>
<optgroup label="城市记忆">
<option value="你工作的第一个城市">你工作的第一个城市</option>
</optgroup>
<optgroup label="学生时代">
<option value="你的工号">你的工号</option>
<option value="你最喜欢的老师">你最喜欢的老师</option>
</optgroup>
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">搜索选择框</label>
<div class="layui-input-inline">
<select name="modules" lay-verify="required" lay-search="">
<option value="">直接选择或搜索选择</option>
<option value="1">layer</option>
<option value="2">form</option>
<option value="3">layim</option>
<option value="4">element</option>
<option value="5">laytpl</option>
<option value="6">upload</option>
<option value="7">laydate</option>
<option value="8">laypage</option>
<option value="9">flow</option>
<option value="10">util</option>
<option value="11">code</option>
<option value="12">tree</option>
<option value="13">layedit</option>
<option value="14">nav</option>
<option value="15">tab</option>
<option value="16">table</option>
<option value="17">select</option>
<option value="18">checkbox</option>
<option value="19">switch</option>
<option value="20">radio</option>
</select>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">联动选择框</label>
<div class="layui-input-block">
<div class="layui-inline">
<select name="quiz1">
<option value="">请选择省</option>
<option value="浙江" selected="">浙江省</option>
<option value="你的工号">江西省</option>
<option value="你最喜欢的老师">福建省</option>
</select>
</div>
<div class="layui-inline">
<select name="quiz2">
<option value="">请选择市</option>
<option value="杭州">杭州</option>
<option value="宁波" disabled="">宁波</option>
<option value="温州">温州</option>
<option value="温州">台州</option>
<option value="温州">绍兴</option>
</select>
</div>
<div class="layui-inline">
<select name="quiz3">
<option value="">请选择县/区</option>
<option value="西湖区">西湖区</option>
<option value="余杭区">余杭区</option>
<option value="拱墅区">临安市</option>
</select>
</div>
<div class="layui-inline">
<div class="layui-form-mid layui-word-aux">此处只是演示联动排版,并未做联动交互</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">复选框</label>
<div class="layui-input-block">
<input type="checkbox" name="like[write]" title="写作">
<input type="checkbox" name="like[read]" title="阅读" checked="">
<input type="checkbox" name="like[game]" title="游戏">
</div>
</div>
<div class="layui-form-item" pane="">
<label class="layui-form-label">原始复选框</label>
<div class="layui-input-block">
<input type="checkbox" name="like1[write]" lay-skin="primary" title="写作" checked="">
<input type="checkbox" name="like1[read]" lay-skin="primary" title="阅读">
<input type="checkbox" name="like1[game]" lay-skin="primary" title="游戏" disabled="">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">开关-默认关</label>
<div class="layui-input-block">
<input type="checkbox" name="close" lay-skin="switch" lay-text="ON|OFF">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">开关-默认开</label>
<div class="layui-input-block">
<input type="checkbox" checked="" name="open" lay-skin="switch" lay-filter="component-form-switchTest" lay-text="ON|OFF">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">单选框</label>
<div class="layui-input-block">
<input type="radio" name="sex" value="男" title="男" checked="">
<input type="radio" name="sex" value="女" title="女">
<input type="radio" name="sex" value="禁" title="禁用" disabled="">
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">普通文本域</label>
<div class="layui-input-block">
<textarea name="text" placeholder="请输入内容" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<div class="layui-footer">
<button class="layui-btn" lay-submit="" lay-filter="component-form-demo1">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<script>
layui.use(['admin', 'form', 'laydate'], function(){
var $ = layui.$
,admin = layui.admin
,element = layui.element
,layer = layui.layer
,laydate = layui.laydate
,form = layui.form;
form.render(null, 'component-form-group');
laydate.render({
elem: '#LAY-component-form-group-date'
});
/* 自定义验证规则 */
form.verify({
title: function(value){
if(value.length < 5){
return '标题至少得5个字符啊';
}
}
,pass: [/(.+){6,12}$/, '密码必须6到12位']
,content: function(value){
layedit.sync(editIndex);
}
});
/* 指定开关 */
form.on('switch(component-form-switchTest)', function(data){
layer.msg('开关checked'+ (this.checked ? 'true' : 'false'), {
offset: '6px'
});
layer.tips('温馨提示请注意开关状态的文字可以随意定义而不仅仅是ON|OFF', data.othis)
});
/* 提交 */
form.on('submit(component-form-demo1)', function(data){
layer.alert(layui.util.escape(JSON.stringify(data.field)), {
title: '最终的提交信息'
})
return false;
});
});
</script>

View File

@@ -0,0 +1,80 @@
<title>全端复杂组合</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>栅格</cite></a>
<a><cite>全端复杂组合</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
#LAY-component-grid-all .layui-card-body{display: flex; justify-content: center; flex-direction: column; text-align: center; height: 200px;}
</style>
<div class="layui-fluid" id="LAY-component-grid-all">
<div class="layui-row layui-col-space10">
<div class="layui-col-xs6 layui-col-sm7 layui-col-md3">
<!-- 填充内容 -->
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs6 layui-col-sm5 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs6 layui-col-sm5 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs6 layui-col-sm7 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs6 layui-col-sm7 layui-col-md9">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs6 layui-col-sm5 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs6 layui-col-sm5 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs6 layui-col-sm7 layui-col-md9">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$
,admin = layui.admin
,table = layui.table
,element = layui.element;
});
</script>

View File

@@ -0,0 +1,122 @@
<title>等比例列表排列</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>栅格</cite></a>
<a><cite>等比例列表排列</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
#LAY-component-grid-list .demo-list .layui-card{height: 267px;}
</style>
<div class="layui-fluid" id="LAY-component-grid-list">
<div class="layui-row layui-col-space10 demo-list">
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<!-- 填充内容 -->
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
<div class="layui-col-sm4 layui-col-md3 layui-col-lg2">
<div class="layui-card">
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$
,admin = layui.admin
,table = layui.table
,element = layui.element;
});
</script>

View File

@@ -0,0 +1,80 @@
<title>移动桌面组合</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>栅格</cite></a>
<a><cite>移动桌面组合</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
#LAY-component-grid-mobile-pc .layui-card-body{display: flex; justify-content: center; flex-direction: column; text-align: center; height: 200px;}
</style>
<div class="layui-fluid" id="LAY-component-grid-mobile-pc">
<div class="layui-row layui-col-space10">
<div class="layui-col-xs6 layui-col-md8">
<!-- 填充内容 -->
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs6 layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs6 layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs6 layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs12 layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs6 layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs6 layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs12 layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$
,admin = layui.admin
,table = layui.table
,element = layui.element;
});
</script>

View File

@@ -0,0 +1,112 @@
<title>按移动端排列</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>栅格</cite></a>
<a><cite>按移动端排列</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
#LAY-component-grid-mobile .layui-card-body{display: flex; justify-content: center; flex-direction: column; text-align: center; height: 200px;}
</style>
<div class="layui-fluid" id="LAY-component-grid-mobile">
<div class="layui-row layui-col-space10">
<div class="layui-col-xs6">
<!-- 填充内容 -->
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs6">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
</div>
<div class="layui-row layui-col-space10">
<div class="layui-col-xs3">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs3">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs3">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs3">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs3">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs3">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs3">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-xs3">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$
,admin = layui.admin
,table = layui.table
,element = layui.element;
});
</script>

View File

@@ -0,0 +1,84 @@
<title>九宫格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>栅格</cite></a>
<a><cite>九宫格</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
#LAY-component-grid-speed-dial .layui-card-body{display: flex; justify-content: center; flex-direction: column; text-align: center; font-size: 20px;}
#LAY-component-grid-speed-dial .layui-card-body:hover{background-color: #FAFAFA;}
</style>
<div class="layui-fluid" id="LAY-component-grid-speed-dial">
<div class="layui-row layui-col-space1">
<div class="layui-col-xs4">
<!-- 填充内容 -->
<div class="layui-card">
<div class="layui-card-body">1</div>
</div>
</div>
<div class="layui-col-xs4">
<div class="layui-card">
<div class="layui-card-body">2</div>
</div>
</div>
<div class="layui-col-xs4">
<div class="layui-card">
<div class="layui-card-body">3</div>
</div>
</div>
<div class="layui-col-xs4">
<div class="layui-card">
<div class="layui-card-body">4</div>
</div>
</div>
<div class="layui-col-xs4">
<div class="layui-card">
<div class="layui-card-body">5</div>
</div>
</div>
<div class="layui-col-xs4">
<div class="layui-card">
<div class="layui-card-body">6</div>
</div>
</div>
<div class="layui-col-xs4">
<div class="layui-card">
<div class="layui-card-body">7</div>
</div>
</div>
<div class="layui-col-xs4">
<div class="layui-card">
<div class="layui-card-body">8</div>
</div>
</div>
<div class="layui-col-xs4">
<div class="layui-card">
<div class="layui-card-body">9</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$
,admin = layui.admin
,element = layui.element;
element.render('breadcrumb', 'breadcrumb');
//窗口尺寸改变事件,控制宽度相同
admin.resize(function(){
var cardBody = $('#LAY-component-grid-speed-dial .layui-card-body');
cardBody.height(cardBody.width())
});
});
</script>

View File

@@ -0,0 +1,143 @@
<title>低于桌面堆叠排列</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>栅格</cite></a>
<a><cite>低于桌面堆叠排列</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
#LAY-component-grid-stack .layui-card-body{display: flex; justify-content: center; flex-direction: column; text-align: center; height: 200px;}
</style>
<div class="layui-fluid" id="LAY-component-grid-stack">
<div class="layui-row layui-col-space10">
<div class="layui-col-md4">
<!-- 填充内容 -->
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body"></div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$
,admin = layui.admin
,table = layui.table
,element = layui.element;
element.render('breadcrumb', 'breadcrumb');
});
</script>

View File

@@ -0,0 +1,324 @@
<title>layDate 功能演示一</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>日期时间</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">常规用法</div>
<div class="layui-card-body" pad15>
<div class="layui-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">中文版</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-normal-cn" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">国际版</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-normal-en" placeholder="yyyy-MM-dd">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">五大选择器</div>
<div class="layui-card-body" pad15>
<div class="layui-form" wid100>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">年选择器</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-type-year" placeholder="yyyy">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">年月选择器</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-type-month" placeholder="yyyy-MM">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">日期选择器</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-type-date" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">时间选择器</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-type-time" placeholder="HH:mm:ss">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">日期时间选择器</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-type-datetime" placeholder="yyyy-MM-dd HH:mm:ss">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">范围选择</div>
<div class="layui-card-body" pad15>
<div class="layui-form" wid100>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">日期范围</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-range-date" placeholder=" - ">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">年范围</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-range-year" placeholder=" - ">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">年月范围</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-range-month" placeholder=" - ">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">时间范围</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-range-time" placeholder=" - ">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">日期时间范围</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-range-datetime" placeholder=" - ">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">自定义格式</div>
<div class="layui-card-body" pad15>
<div class="layui-form" wid100>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">请选择日期</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-format-date1" placeholder="yyyy年MM月dd日">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">请选择日期</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-format-date2" placeholder="dd/MM/yyyy">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">请选择月份</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-format-month" placeholder="yyyyMM">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">请选择时间</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-format-time" placeholder="H点m分">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">请选择范围</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-format-range1" placeholder=" ~ ">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">请选择范围</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-format-range2" placeholder="开始 到 结束">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">同时绑定多个</div>
<div class="layui-card-body" pad15>
<div class="layui-form" wid100>
<div class="layui-form-item">
<div class="layui-inline">
<input type="text" class="layui-input test-laydate-item" placeholder="yyyy-MM-dd">
</div>
<div class="layui-inline">
<input type="text" class="layui-input test-laydate-item" placeholder="yyyy-MM-dd">
</div>
<div class="layui-inline">
<input type="text" class="layui-input test-laydate-item" placeholder="yyyy-MM-dd">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'laydate'], function(){
var laydate = layui.laydate;
//示例代码
//常规用法
laydate.render({
elem: '#test-laydate-normal-cn'
});
//国际版
laydate.render({
elem: '#test-laydate-normal-en'
,lang: 'en'
});
//年选择器
laydate.render({
elem: '#test-laydate-type-year'
,type: 'year'
});
//年月选择器
laydate.render({
elem: '#test-laydate-type-month'
,type: 'month'
});
//日期选择器
laydate.render({
elem: '#test-laydate-type-date'
//,type: 'date' //type 默认为 date所以可不填
});
//时间选择器
laydate.render({
elem: '#test-laydate-type-time'
,type: 'time'
});
//日期时间选择器
laydate.render({
elem: '#test-laydate-type-datetime'
,type: 'datetime'
});
//日期范围
laydate.render({
elem: '#test-laydate-range-date'
,range: true
});
//年范围
laydate.render({
elem: '#test-laydate-range-year'
,type: 'year'
,range: true
});
//年月范围
laydate.render({
elem: '#test-laydate-range-month'
,type: 'month'
,range: true
});
//时间范围
laydate.render({
elem: '#test-laydate-range-time'
,type: 'time'
,range: true
});
//日期时间范围
laydate.render({
elem: '#test-laydate-range-datetime'
,type: 'datetime'
,range: true
});
//自定义格式
laydate.render({
elem: '#test-laydate-format-date1'
,format: 'yyyy年MM月dd日'
});
laydate.render({
elem: '#test-laydate-format-date2'
,format: 'dd/MM/yyyy'
});
laydate.render({
elem: '#test-laydate-format-month'
,type: 'month'
,format: 'yyyyMM'
});
laydate.render({
elem: '#test-laydate-format-time'
,type: 'time'
,format: 'H点m分'
});
laydate.render({
elem: '#test-laydate-format-range1'
,range: '~'
});
laydate.render({
elem: '#test-laydate-format-range2'
,type: 'datetime'
,range: '到'
,format: 'yyyy年M月d日H时m分s秒'
});
//同时绑定多个
lay('.test-laydate-item').each(function(){
laydate.render({
elem: this
,trigger: 'click'
});
});
});
</script>

View File

@@ -0,0 +1,276 @@
<title>layDate 功能演示二</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>日期时间</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">公历节日和自定义重要日子</div>
<div class="layui-card-body" pad15>
<div class="layui-form" wid100>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">开启公历节日</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-mark" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">自定义重要日</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-mark-custom" placeholder="yyyy-MM-dd">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">控制可选的日期与时间</div>
<div class="layui-card-body" pad15>
<div class="layui-form" wid100>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">限定可选日期</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-limit1" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">前后若干天可选</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-limit2" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">限定可选时间</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-limit3" placeholder="HH:mm:ss">
</div>
<div class="layui-form-mid layui-word-aux">
这里以控制在9:30-17:30为例
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">其它功能示例</div>
<div class="layui-card-body" pad15>
<div class="layui-form" wid100>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">初始赋值</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-init-value" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">选中后的回调</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-call-done" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">日期切换的回调</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-call-change" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">不出现底部栏</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-showBottom" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">只出现确定按钮</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-confirm" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">自定义事件</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-trigger1" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label" id="test-laydate-trigger2-1">点我触发</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-trigger2" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label" id="test-laydate-trigger3-1">双击我触发</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-trigger3" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">日期只读</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-readonly" readonly="" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">非input元素</label>
<div class="layui-input-inline">
<div id="test-laydate-normElem" style="height: 38px; line-height: 38px; cursor: pointer; border-bottom: 1px solid #e2e2e2;"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'laydate'], function(){
var laydate = layui.laydate;
//示例代码
//开启公历节日
laydate.render({
elem: '#test-laydate-mark'
,calendar: true
});
//自定义重要日
laydate.render({
elem: '#test-laydate-mark-custom'
,mark: {
'0-10-14': '生日'
,'0-12-31': '跨年'
,'0-0-10': '工资'
,'0-0-15': '月中'
,'2018-8-8': ''
,'2099-10-14': '呵呵'
}
,done: function(value, date){
if(date.year === 2018 && date.month === 8 && date.date === 8){
layer.msg('北京奥运会十周年,时间都去哪儿了');
}
}
});
//限定可选日期
var ins22 = laydate.render({
elem: '#test-laydate-limit1'
,min: '2016-10-14'
,max: '2080-10-14'
,ready: function(){
ins22.hint('日期可选值设定在 <br> 2016-10-14 到 2080-10-14');
}
});
//前后若干天可选这里以7天为例
laydate.render({
elem: '#test-laydate-limit2'
,min: -7
,max: 7
});
//限定可选时间
laydate.render({
elem: '#test-laydate-limit3'
,type: 'time'
,min: '09:30:00'
,max: '17:30:00'
,btns: ['clear', 'confirm']
});
//初始赋值
laydate.render({
elem: '#test-laydate-init-value'
,value: '1989-10-14'
});
//选中后的回调
laydate.render({
elem: '#test-laydate-call-done'
,done: function(value, date){
layer.alert('你选择的日期是:' + value + '<br>获得的对象是' + JSON.stringify(date));
}
});
//日期切换的回调
laydate.render({
elem: '#test-laydate-call-change'
,change: function(value, date){
layer.msg('你选择的日期是:' + value + '<br><br>获得的对象是' + JSON.stringify(date));
}
});
//不出现底部栏
laydate.render({
elem: '#test-laydate-showBottom'
,showBottom: false
});
//只出现确定按钮
laydate.render({
elem: '#test-laydate-confirm'
,btns: ['confirm']
});
//自定义事件
laydate.render({
elem: '#test-laydate-trigger1'
,trigger: 'mousedown'
});
//点我触发
laydate.render({
elem: '#test-laydate-trigger2'
,eventElem: '#test-laydate-trigger2-1'
,trigger: 'click'
});
//双击我触发
lay('#test-laydate-trigger3-1').on('dblclick', function(){
laydate.render({
elem: '#test-laydate-trigger3'
,show: true
,closeStop: '#test-laydate-trigger3-1'
});
});
//日期只读
laydate.render({
elem: '#test-laydate-readonly'
,trigger: 'click'
});
//非input元素
laydate.render({
elem: '#test-laydate-normElem'
});
});
</script>

View File

@@ -0,0 +1,74 @@
<title>layDate 日期组件功能演示</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>日期时间</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">联动范围选择</div>
<div class="layui-card-body" pad15>
<div class="layui-form" wid100>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">活动日期</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-start" placeholder="开始日期">
</div>
<div class="layui-form-mid">
-
</div>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-end" placeholder="结束日期">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'laydate'], function(){
var laydate = layui.laydate;
//示例代码
//开始日期
var insStart = laydate.render({
elem: '#test-laydate-start'
,min: 0
,done: function(value, date){
//更新结束日期的最小日期
insEnd.config.min = lay.extend({}, date, {
month: date.month - 1
});
//自动弹出结束日期的选择器
insEnd.config.elem[0].focus();
}
});
//结束日期
var insEnd = laydate.render({
elem: '#test-laydate-end'
,min: 0
,done: function(value, date){
//更新开始日期的最大日期
insStart.config.max = lay.extend({}, date, {
month: date.month - 1
});
}
});
});
</script>

View File

@@ -0,0 +1,173 @@
<title>layDate 日期组件功能演示</title>
<style>
.test-laydate-theme-box .layui-inline{margin: 0 20px 20px 0;}
/* 定制 laydate 皮肤gbw由社区提供 */
.layui-laydate-hint.laydate-theme-gbw,.layui-laydate.laydate-theme-gbw{border:1px solid #FFF;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);-moz-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15)}
.layui-laydate.laydate-theme-gbw{border-radius:4px;-moz-border-radius:4px;-webkit-border-radius:4px;font-family:"Helvetica Neue For Number",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;color:rgba(0,0,0,.65);-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;list-style:none;position:absolute;z-index:19850126}
.laydate-theme-gbw .layui-laydate-header{border-bottom:1px solid #e8e8e8;padding-top:5px}
.laydate-theme-gbw .layui-laydate-header i{font-size:12px;color:rgba(0,0,0,.45)}
.laydate-theme-gbw .layui-laydate-header span{color:rgba(0,0,0,.85);font-weight:500}
.laydate-theme-gbw .layui-laydate-header i:hover,.laydate-theme-gbw .layui-laydate-header span:hover{color:#40a9ff}
.laydate-theme-gbw .layui-laydate-footer{border-top:0;padding-top:0;height:36px}
.laydate-theme-gbw .layui-laydate-footer span:hover{color:#40a9ff}
.laydate-theme-gbw .laydate-footer-btns{top:0}
.laydate-theme-gbw .layui-laydate-content th{color:rgba(0,0,0,.65)}
.laydate-theme-gbw .layui-laydate-content td{color:rgba(0,0,0,.65);border-radius:2px;-webkit-transition:background .3s ease;-o-transition:background .3s ease;transition:background .3s ease}
.laydate-theme-gbw .layui-laydate-content .laydate-day-next,.laydate-theme-gbw .layui-laydate-content .laydate-day-prev{color:rgba(0,0,0,.25)}
.layui-laydate.laydate-theme-gbw td.layui-this{background-color:transparent!important;border:1px solid #1890ff;border-radius:3px;font-weight:700;color:#1890ff!important}
.layui-laydate.laydate-theme-gbw li.layui-this{background-color:#1890ff!important;color:#fff!important;border-radius:0;border:0}
</style>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>日期时间</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">自定义按钮主题</div>
<div class="layui-card-body" pad15>
<div class="layui-form" wid100>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">墨绿主题</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-theme-molv" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">格子主题</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-theme-grid" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">蓝色主题</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-theme-blue" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">大红主题</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-theme-red" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">自定义其它颜色</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-theme-other" placeholder="yyyy-MM-dd">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">定制主题</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="test-laydate-theme-custom" placeholder="yyyy-MM-dd">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">直接嵌套显示</div>
<div class="layui-card-body" pad15>
<div class="test-laydate-theme-box">
<div class="layui-inline" id="test-laydate-static-n1"></div>
<div class="layui-inline" id="test-laydate-static-n2"></div>
<div class="layui-inline" id="test-laydate-static-n3"></div>
<div class="layui-inline" id="test-laydate-static-n4"></div>
<div class="layui-inline" id="test-laydate-static-n5"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'laydate'], function(){
var laydate = layui.laydate;
//示例代码
//墨绿主题
laydate.render({
elem: '#test-laydate-theme-molv'
,theme: 'molv'
});
//格子主题
laydate.render({
elem: '#test-laydate-theme-grid'
,theme: 'grid'
});
//蓝色主题
laydate.render({
elem: '#test-laydate-theme-blue'
,theme: '#1E9FFF'
});
//大红主题
laydate.render({
elem: '#test-laydate-theme-red'
,theme: '#c00'
});
//自定义其它颜色
laydate.render({
elem: '#test-laydate-theme-other'
,theme: '#393D49'
});
//定制主题
laydate.render({
elem: '#test-laydate-theme-custom'
,theme: 'gbw'
});
//直接嵌套显示
laydate.render({
elem: '#test-laydate-static-n1'
,position: 'static'
});
laydate.render({
elem: '#test-laydate-static-n2'
,position: 'static'
,lang: 'en'
});
laydate.render({
elem: '#test-laydate-static-n3'
,type: 'year'
,position: 'static'
});
laydate.render({
elem: '#test-laydate-static-n4'
,type: 'month'
,position: 'static'
});
laydate.render({
elem: '#test-laydate-static-n4'
,type: 'time'
,position: 'static'
});
});
</script>

View File

@@ -0,0 +1,480 @@
<title>layer 组件功能演示</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a href="http://www.baidu.com/" target="_blank">layer</a>
<a><cite>功能演示</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
#LAY-component-layer-list .layui-card-body{padding-top: 15px;}
</style>
<div class="layui-fluid" id="LAY-component-layer-list">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">弹层类型</div>
<div class="layui-card-body">
<div class="layui-btn-container layadmin-layer-demo">
<button class="layui-btn layui-btn-primary" data-type="test1">Alert</button>
<button class="layui-btn layui-btn-primary" data-type="test2">Confirm</button>
<button class="layui-btn layui-btn-primary" data-type="test3">Msg</button>
<button class="layui-btn layui-btn-primary" data-type="test4">Tips</button>
<button class="layui-btn layui-btn-primary" data-type="test5">Page</button>
<button class="layui-btn layui-btn-primary" data-type="test6">Iframe</button>
<button class="layui-btn layui-btn-primary" data-type="test7">Prompt</button>
<button class="layui-btn layui-btn-primary" data-type="test8">Tab</button>
<button class="layui-btn layui-btn-primary" data-type="test9">Photos</button>
</div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">常规使用</div>
<div class="layui-card-body">
<div class="layui-btn-container layadmin-layer-demo">
<button class="layui-btn layui-btn-primary" data-type="test10">信息框</button>
<button class="layui-btn layui-btn-primary" data-type="test11">询问层</button>
<button class="layui-btn layui-btn-primary" data-type="test12">提示层</button>
<button class="layui-btn layui-btn-primary" data-type="test13">墨绿深蓝风</button>
<button class="layui-btn layui-btn-primary" data-type="test14">捕获页</button>
<button class="layui-btn layui-btn-primary" data-type="test15">页面层</button>
<button class="layui-btn layui-btn-primary" data-type="test16">自定风格</button>
<button class="layui-btn layui-btn-primary" data-type="test17">tips层1</button>
<button class="layui-btn layui-btn-primary" data-type="test18">tips层2</button>
<button class="layui-btn layui-btn-primary" data-type="test19">iframe层</button>
<button class="layui-btn layui-btn-primary" data-type="test20">iframe窗</button>
<button class="layui-btn layui-btn-primary" data-type="test21">加载层1</button>
<button class="layui-btn layui-btn-primary" data-type="test22">加载层2</button>
<button class="layui-btn layui-btn-primary" data-type="test23">prompt层</button>
<button class="layui-btn layui-btn-primary" data-type="test8">tab层</button>
<button class="layui-btn layui-btn-primary" data-type="test9">相册层</button>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">信息框</div>
<div class="layui-card-body">
<div class="layui-btn-container layadmin-layer-demo">
<button class="layui-btn layui-btn-primary" data-type="test26">例1</button>
<button class="layui-btn layui-btn-primary" data-type="test27">例2</button>
<button class="layui-btn layui-btn-primary" data-type="test28">例3</button>
<button class="layui-btn layui-btn-primary" data-type="test29">例4</button>
<button class="layui-btn layui-btn-primary" data-type="test30">例5</button>
<button class="layui-btn layui-btn-primary" data-type="test31">例6</button>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">页面层与iframe层</div>
<div class="layui-card-body">
<div class="layui-btn-container layadmin-layer-demo">
<button class="layui-btn layui-btn-primary" data-type="test33">自定义页面</button>
<button class="layui-btn layui-btn-primary" data-type="test35" id="LAY_layer_iframe_demo">iframe父子通讯</button>
<button class="layui-btn layui-btn-primary" data-type="test36">禁止iframe滚动条</button>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">加载层</div>
<div class="layui-card-body">
<div class="layui-btn-container layadmin-layer-demo">
<button class="layui-btn layui-btn-primary" data-type="test37">风格1</button>
<button class="layui-btn layui-btn-primary" data-type="test38">风格2</button>
<button class="layui-btn layui-btn-primary" data-type="test39">风格3</button>
<button class="layui-btn layui-btn-primary" data-type="test40">风格4</button>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">tips层</div>
<div class="layui-card-body">
<div class="layui-btn-container layadmin-layer-demo">
<button class="layui-btn layui-btn-primary" data-type="test41">显示在上</button>
<button class="layui-btn layui-btn-primary" data-type="test42">显示在右</button>
<button class="layui-btn layui-btn-primary" data-type="test43">显示在下</button>
<button class="layui-btn layui-btn-primary" data-type="test44">显示在左</button>
<button class="layui-btn layui-btn-primary" data-type="test45">不销毁上一个tips</button>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">其它示例</div>
<div class="layui-card-body">
<div class="layui-btn-container layadmin-layer-demo">
<button class="layui-btn layui-btn-primary" data-type="test47">最大化弹出</button>
<button class="layui-btn layui-btn-primary" data-type="test48">显示在正上方</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'layer'], function(){
var $ = layui.$
,admin = layui.admin
,element = layui.element
,layer = layui.layer;
element.render();
/* 触发弹层 */
var active = {
test1: function(){
layer.alert('你好,体验者');
}
,test2: function(){
layer.confirm('您是如何看待前端开发?', {
btn: ['重要','奇葩'] //按钮
}, function(){
layer.msg('的确很重要', {icon: 1});
}, function(){
layer.msg('也可以这样', {
time: 20000, //20s后自动关闭
btn: ['明白了', '知道了']
});
});
}
,test3: function(){
layer.msg('玩命提示中');
}
,test4: function(){
layer.tips('Hi我是一个提示', this, {tips: 1});
}
,test5: function(){
layer.open({
title:'页面层'
,type: 1
//,skin: 'layui-layer-rim'
,shadeClose: true
,area: admin.screen() < 2 ? ['80%', '300px'] : ['700px', '500px']
,content: '<div style="padding: 20px;">放入任意HTML</div>'
});
}
,test6: function(){
layer.open({
type: 2
,content: 'https://cn.bing.com/'
,shadeClose: true
,area: admin.screen() < 2 ? ['100%', '80%'] : ['375px', '500px']
,maxmin: true
});
}
,test7: function(){
layer.prompt({title: '输入任何口令,并确认', formType: 1}, function(pass, index){
layer.close(index);
layer.prompt({title: '随便写点啥,并确认', formType: 2}, function(text, index){
layer.close(index);
layer.msg('演示完毕!您的口令:'+ pass +'<br>您最后写下了:'+text);
});
});
}
,test8: function(){
layer.tab({
area: admin.screen() < 2 ? ['100%', '80%'] : ['600px', '300px'],
tab: [{
title: 'TAB1',
content: '<div style="padding:20px;">内容1</div>'
}, {
title: 'TAB2',
content: '<div style="padding:20px;">内容2</div>'
}]
});
}
,test9: function(){
$.getJSON('./res/json/layer/photos.js', function(json){
layer.photos({
photos: json //格式见API文档手册页
});
});
}
,test10: function(){
var icon = -1;
(function changeIcon(){
var index = layer.alert('Hi你好 点击确认更换图标', {
icon: icon,
shadeClose: true,
title: icon === -1 ? '初体验 - layer '+layer.v : 'icon'+icon + ' - layer '+layer.v
}, changeIcon);
if(8 === ++icon) layer.close(index);
}());
}
,test11: function(){
layer.confirm('真的吗?', function(index){
layer.msg('哦')
layer.close(index);
});
}
,test12: function(){
layer.msg('玩了命提示中');
}
,test13: function(){
//墨绿深蓝风
layer.alert('墨绿风格,点击确认看深蓝', {
skin: 'layui-layer-molv'
,closeBtn: 0
}, function(){
layer.alert('偶吧深蓝style', {
skin: 'layui-layer-lan'
,closeBtn: 0
,anim: 4
});
});
}
,test14: function(){
layer.open({
type: 1,
shade: false,
title: false,
content: $('.demo-component-layer'),
cancel: function(){
setTimeout(function(){
layer.tips('捕获就是从页面已经存在的元素上,包裹 layer 的结构,从而弹出显示。是不是比较好玩呢?', '.demo-component-layer', {
tips: 3, time: 5000
});
}, 300);
}
});
}
,test15: function(){
layer.open({
type: 1,
skin: 'layui-layer-rim',
area: ['420px', '240px'],
content: '<div style="padding: 10px;">任意html内容</div>'
});
}
,test16: function(){
layer.open({
type: 1,
skin: 'layui-layer-admin',
closeBtn: false,
area: '350px',
anim: 5,
shadeClose: true,
content: '<div style="padding:20px;">即传入skin:"样式名",然后你就可以为所欲为了。你怎么样给她整容都行</div>'
});
}
,test17: function(){
layer.tips('Hi我是tips', this, {
tips: 1
});
}
,test18: function(){
layer.tips('我是另外一个tips只不过我长得跟之前那位稍有些不一样。', this, {
tips: [3, '#2F9688'],
time: 4000
});
}
,test19: function(){
layer.open({
type: 2,
title: '必应',
shadeClose: true,
shade: 0.8,
area: ['375px', '500px'],
content: 'https://cn.bing.com/'
});
}
,test20: function(){
layer.open({
type: 2,
title: '必应',
shade: false,
maxmin: true,
area: ['90%', '90%'],
content: 'https://cn.bing.com/'
});
}
,test21: function(){
var ii = layer.load(0, {shade: false});
setTimeout(function(){
layer.close(ii)
}, 3000);
}
,test22: function(){
var iii = layer.load(1, {
shade: [0.1,'#fff']
});
setTimeout(function(){
layer.close(iii)
}, 3000);
}
,test23: function(){
layer.prompt({title: '写点什么吧'}, function(value, index){
layer.msg('你写下了:'+ value, {
icon: 6
,shade: 0.9
}, function(){
layer.close(index);
});
});
}
,test26: function(){
layer.alert('见到你真的很高兴', {icon: 6});
}
,test27: function(){
layer.msg('一个询问测试?', {
time: 0 //不自动关闭
,btn: ['确定', '关闭']
,yes: function(index){
layer.close(index);
layer.msg('自定义按钮 O.o', {
icon: 6
,time: 0
,btn: ['按钮-1','按钮-2','按钮-3']
});
}
});
}
,test28: function(){
layer.msg('这是最常用的吧');
}
,test29: function(){
layer.msg('并不十分开心。。', {icon: 5});
}
,test30: function(){
layer.msg('玩命卖萌中', function(){
layer.msg('卖完了');
});
}
,test31: function(){
layer.confirm('真的删除吗?', function(){
layer.msg('正在删除', {icon: 16}, function(){
layer.msg('成功删除', {icon: 1})
});
});
}
,test33: function(){
layer.open({
type: 1,
title: false,
closeBtn: 0,
shadeClose: true,
skin: 'yourClass',
content: '<div style="padding: 20px; width: 260px; height: 180px;">自定义HTML内容</div>'
});
}
,test35: function(){
layer.open({
type: 2,
area: ['700px', '450px'],
fixed: false,
maxmin: true,
content: layui.setter.paths.base + 'views/iframe/layer/iframe.html'
});
}
,test36: function(){
layer.open({
type: 2,
area: ['360px', '500px'],
skin: 'layui-layer-rim',
content: ['https://cn.bing.com/', 'no']
});
}
,test37: function(){
layer.load();
setTimeout(function(){
layer.closeAll('loading');
}, 2000);
}
,test38: function(){
layer.load(1);
setTimeout(function(){
layer.closeAll('loading');
}, 2000);
}
,test39: function(){
layer.load(2);
setTimeout(function(){
layer.closeAll('loading');
}, 2000);
}
,test40: function(){
layer.msg('加载中', {
icon: 16
,shade: 0.01
});
}
,test41: function(){
layer.tips('上', this, {
tips: [1, '#000']
});
}
,test42: function(){
layer.tips('默认就是向右的3秒后关闭', this);
}
,test43: function(){
layer.tips('下', this, {
tips: 3
});
}
,test44: function(){
layer.tips('在很久很久以前,在很久很久以前,在很久很久以前……', this, {
tips: [4, '#78BA32']
});
}
,test45: function(){
layer.tips('不会销毁之前的', this, {tipsMore: true});
}
,test47: function(){
var index = layer.open({
type: 2,
content: 'http://baidu.com',
area: ['300px', '300px'],
maxmin: true
});
layer.full(index);
}
,test48: function(){
layer.msg('灵活运用 offset', {
offset: 't',
anim: 6
});
}
};
$('#LAY-component-layer-list .layadmin-layer-demo .layui-btn').on('click', function(){
var type = $(this).data('type');
active[type] && active[type].call(this);
});
});
</script>

View File

@@ -0,0 +1,242 @@
<title>layer 组件特殊示例</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a href="http://www.baidu.com/" target="_blank">layer</a>
<a><cite>特殊示例</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
#LAY-component-layer-special-demo .layui-card-body{padding-top: 15px;}
</style>
<div class="layui-fluid" id="LAY-component-layer-special-demo">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">场景</div>
<div class="layui-card-body">
<div class="layui-btn-container layadmin-layer-demo">
<button data-method="setTop" class="layui-btn layui-btn-primary">多窗口模式,层叠置顶 / Esc 关闭</button>
<button data-method="confirmTrans" class="layui-btn layui-btn-primary">配置一个透明的询问框</button>
<button data-method="notice" class="layui-btn layui-btn-primary">示范一个公告层</button>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">坐标</div>
<div class="layui-card-body">
<div class="layui-btn-container layadmin-layer-demo">
<button data-method="offset" data-type="t" class="layui-btn layui-btn-primary">上弹出</button>
<button data-method="offset" data-type="r" class="layui-btn layui-btn-primary">右弹出</button>
<button data-method="offset" data-type="b" class="layui-btn layui-btn-primary">下弹出</button>
<button data-method="offset" data-type="l" class="layui-btn layui-btn-primary">左弹出</button>
<button data-method="offset" data-type="lt" class="layui-btn layui-btn-primary">左上弹出</button>
<button data-method="offset" data-type="lb" class="layui-btn layui-btn-primary">左下弹出</button>
<button data-method="offset" data-type="rt" class="layui-btn layui-btn-primary">右上弹出</button>
<button data-method="offset" data-type="rb" class="layui-btn layui-btn-primary">右下弹出</button>
<button data-method="offset" data-type="auto" class="layui-btn layui-btn-primary">居中弹出</button>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">抽屉</div>
<div class="layui-card-body">
<p style="line-height: 32px;">从页面四个边缘弹出(抽屉效果):</p>
<div class="layui-btn-container">
<button type="button" class="layui-btn layui-btn-primary" lay-on="test-offset-t">从上往下</button>
<button type="button" class="layui-btn layui-btn-primary" lay-on="test-offset-r">从右往左</button>
<button type="button" class="layui-btn layui-btn-primary" lay-on="test-offset-b">从下往上</button>
<button type="button" class="layui-btn layui-btn-primary" lay-on="test-offset-l">从左往右</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$;
var admin = layui.admin;
var element = layui.element;
var util = layui.util;
var router = layui.router();
element.render();
var active = {
setTop: function(){
var that = this;
//多窗口模式,层叠置顶
layer.open({
type: 1 //此处以iframe举例
,title: '当你选择该窗体时,即会在最顶端'
,area: ['390px', '260px']
,shade: 0
,maxmin: true
,offset: [ //为了演示,随机坐标
Math.random()*($(window).height()-300)
,Math.random()*($(window).width()-390)
]
,content: '<div style="padding: 15px;">内容标记:'+ new Date().getTime() + ',按 ESC 键可关闭。<br><br>当你的页面有很多很多 layer 窗口,你需要像 Window 窗体那样,点击某个窗口,该窗体就置顶在上面,那么 layer.setTop() 可以来轻松实现。它采用巧妙的逻辑,以使这种置顶的性能达到最优。</div>'
,btn: ['继续弹出', '全部关闭'] //只是为了演示
,yes: function(){
$(that).click();
}
,btn2: function(){
layer.closeAll();
}
,zIndex: layer.zIndex //重点1
,success: function(layero, index){
layer.setTop(layero); //重点2. 保持选中窗口置顶
//记录索引,以便按 esc 键关闭。事件见代码最末尾处。
layer.escIndex = layer.escIndex || [];
layer.escIndex.unshift(index);
//选中当前层时,将当前层索引放置在首位
layero.on('mousedown', function(){
var _index = layer.escIndex.indexOf(index);
if(_index !== -1){
layer.escIndex.splice(_index, 1); //删除原有索引
}
layer.escIndex.unshift(index); //将索引插入到数组首位
});
}
,end: function(){
//更新索引
if(typeof layer.escIndex === 'object'){
layer.escIndex.splice(0, 1);
}
}
});
}
,confirmTrans: function(){
layer.closeAll();
layer.msg('大部分参数都是可以公用的<br>合理搭配,展示不一样的风格', {
time: 20*1000,
btn: ['明白了', '知道了', '哦']
});
}
,notice: function(){
layer.closeAll();
layer.open({
type: 1
,title: false
,closeBtn: false
,area: '300px;'
,shade: 0.8
,id: 'LAY_layuipro'
,btn: ['火速围观', '残忍拒绝']
,btnAlign: 'c'
,moveType: 1 //拖拽模式0或者1
,content: '<div style="padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">你知道吗?亲!<br>layer ≠ layui<br><br> layer 只是作为 layui 的一个弹层模块,由于其用户基数较大,所以常常会有人以为 layui 是 <del>layerui</del><br><br>layer 虽然已被 layui 收编为内置的弹层模块,但仍然会作为一个独立组件全力维护、升级 ^_^</div>'
,success: function(layero){
var btn = layero.find('.layui-layer-btn');
btn.find('.layui-layer-btn0').attr({
href: ''
,target: '_blank'
});
}
});
}
,offset: function(othis){
var type = othis.data('type')
,text = othis.text();
layer.open({
type: 1
,offset: type
,id: 'layerDemo'+type
,content: '<div style="padding: 20px 100px;">'+ text +'</div>'
,btn: '关闭全部'
,btnAlign: 'c'
,shade: 0
,yes: function(){
layer.closeAll();
}
});
}
};
$('#LAY-component-layer-special-demo .layadmin-layer-demo .layui-btn').on('click', function(){
var othis = $(this), method = othis.data('method');
active[method] ? active[method].call(this, othis) : '';
});
//多窗口模式 - esc 键
$(document).on('keyup', function(e){
if(e.keyCode === 27){
layer.close(layer.escIndex ? layer.escIndex[0] : 0);
}
});
// util 事件
util.on('lay-on', {
'test-offset-t': function(){
layer.open({
type: 1,
offset: 't',
anim: 'slideDown', // 从上往下
area: ['100%', '160px'],
shade: 0.1,
shadeClose: true,
id: 'ID-demo-layer-direction-t',
content: '<div style="padding: 16px;">任意 HTML 内容</div>'
});
},
'test-offset-r': function(){
layer.open({
type: 1,
offset: 'r',
anim: 'slideLeft', // 从右往左
area: ['320px', '100%'],
shade: 0.1,
shadeClose: true,
id: 'ID-demo-layer-direction-r',
content: '<div style="padding: 16px;">任意 HTML 内容</div>'
});
},
'test-offset-b': function(){
layer.open({
type: 1,
offset: 'b',
anim: 'slideUp', // 从下往上
area: ['100%', '160px'],
shade: 0.1,
shadeClose: true,
id: 'ID-demo-layer-direction-b',
content: '<div style="padding: 16px;">任意 HTML 内容</div>'
});
},
'test-offset-l': function(){
layer.open({
type: 1,
offset: 'l',
anim: 'slideRight', // 从左往右
area: ['320px', '100%'],
shade: 0.1,
shadeClose: true,
id: 'ID-demo-layer-direction-l',
content: '<div style="padding: 16px;">任意 HTML 内容</div>'
});
}
});
});
</script>

View File

@@ -0,0 +1,122 @@
<title>layer 组件风格定制</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a href="http://www.baidu.com/" target="_blank">layer</a>
<a><cite>风格定制</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
#LAY-component-layer-theme .layui-card-body{padding-top: 15px;}
</style>
<div class="layui-fluid" id="LAY-component-layer-theme">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">Windows 10 风格</div>
<div class="layui-card-body">
<div class="layui-btn-container">
<button type="button" class="layui-btn layui-btn-primary" lay-on="test-skin-win10">
Windows 10 风格信息框 <span class="layui-badge-dot"></span>
</button>
<button type="button" class="layui-btn layui-btn-primary" lay-on="test-skin-win10-page">
Win10 风格页面层 <span class="layui-badge-dot"></span>
</button>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">风格定制</div>
<div class="layui-card-body">
<div class="layui-btn-container layadmin-layer-demo">
<button data-type="test1" class="layui-btn layui-btn-primary">layuiAdmin 风格</button>
<button data-type="test2" class="layui-btn layui-btn-primary">右侧呼出</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$;
var admin = layui.admin;
var element = layui.element;
var util = layui.util;
var router = layui.router();
element.render();
var active = {
test1: function(){
admin.popup({
title: 'layuiAdmin'
,shade: 0
,anim: -1
,area: ['280px', '150px']
,id: 'layadmin-layer-skin-test'
,skin: 'layui-anim layui-anim-upbit'
,content: '内容'
})
}
,test2: function(){
admin.popupRight({
id: 'LAY_adminPopupLayerTest'
,success: function(){
$('#'+ this.id).html('<div style="padding: 20px;">放入内容</div>');
//admin.view(this.id).render('system/xxx')
}
});
}
};
$('#LAY-component-layer-theme .layadmin-layer-demo .layui-btn').on('click', function(){
var type = $(this).data('type');
active[type] && active[type].call(this);
});
// util 事件
util.on('lay-on', {
'test-skin-win10': function(){
layer.alert('Windows 10 风格主题', {
skin: 'layui-layer-win10', // 2.8+
shade: 0.01,
btn: ['确定', '取消']
})
},
'test-skin-win10-page': function(){
// 此处以一个简单的 Win10 风格记事本为例
layer.open({
type: 1, // 页面层类型
skin: 'layui-layer-win10', // 2.8+
shade: 0.01,
area: ['50%', '60%'],
maxmin: true,
title: '*无标题 - 记事本',
content: [
'<div style="padding: 0 8px; height: 20px; line-height: 20px; border-bottom: 1px solid #F0F0F0; box-sizing: border-box; font-size: 12px;">',
// 自定义菜单,此处仅作样式演示,具体功能可自主实现
[
'<a href="javascript:;">文件(F)</a>',
'<a href="javascript:;" >编辑(E)</a> ',
'<a href="javascript:;" >格式(O)</a> ',
'<a href="javascript:;" >查看(V)</a> ',
'<a href="javascript:;" >帮助(H)</a> ',
].join(' '),
'</div>',
'<textarea style="position: absolute; top: 20px; width: 100%; height: calc(100% - 20px); padding: 6px; border: none; resize: none; overflow-y: scroll; box-sizing: border-box;"></textarea>'
].join('')
});
}
});
});
</script>

View File

@@ -0,0 +1,158 @@
<title>功能演示1 - 通用分页组件</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>分页演示一</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">总页数低于页码总数</div>
<div class="layui-card-body">
<div id="test-laypage-demo0"></div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">总页数大于页码总数</div>
<div class="layui-card-body">
<div id="test-laypage-demo1"></div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">自定义主题 - 颜色随意定义</div>
<div class="layui-card-body">
<div id="test-laypage-demo2"></div>
<div id="test-laypage-demo2-1"></div>
<div id="test-laypage-demo2-2"></div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">自定义首页、尾页、上一页、下一页文本</div>
<div class="layui-card-body">
<div id="test-laypage-demo3"></div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">不显示首页尾页</div>
<div class="layui-card-body">
<div id="test-laypage-demo4"></div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">开启HASH</div>
<div class="layui-card-body">
<div id="test-laypage-demo5"></div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">只显示上一页、下一页</div>
<div class="layui-card-body">
<div id="test-laypage-demo6"></div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'laypage'], function(){
var laypage = layui.laypage;
//总页数低于页码总数
laypage.render({
elem: 'test-laypage-demo0'
,count: 50 //数据总数
});
//总页数大于页码总数
laypage.render({
elem: 'test-laypage-demo1'
,count: 70 //数据总数
,jump: function(obj){
console.log(obj)
}
});
//自定义样式
laypage.render({
elem: 'test-laypage-demo2'
,count: 100
,theme: '#1E9FFF'
});
laypage.render({
elem: 'test-laypage-demo2-1'
,count: 100
,theme: '#FF5722'
});
laypage.render({
elem: 'test-laypage-demo2-2'
,count: 100
,theme: '#FFB800'
});
//自定义首页、尾页、上一页、下一页文本
laypage.render({
elem: 'test-laypage-demo3'
,count: 100
,first: '首页'
,last: '尾页'
,prev: '<em>←</em>'
,next: '<em>→</em>'
});
//不显示首页尾页
laypage.render({
elem: 'test-laypage-demo4'
,count: 100
,first: false
,last: false
});
//开启HASH
laypage.render({
elem: 'test-laypage-demo5'
,count: 500
,curr: location.hash.replace('#!fenye=', '') //获取hash值为fenye的当前页
,hash: 'fenye' //自定义hash值
});
//只显示上一页、下一页
laypage.render({
elem: 'test-laypage-demo6'
,count: 50
,layout: ['prev', 'next']
,jump: function(obj, first){
if(!first){
layer.msg('第 '+ obj.curr +' 页');
}
}
});
});
</script>

View File

@@ -0,0 +1,159 @@
<title>功能演示2 - 通用分页组件</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>分页演示二</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">显示完整功能</div>
<div class="layui-card-body">
<div id="test-laypage-demo7"></div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">自定义排版</div>
<div class="layui-card-body">
<div id="test-laypage-demo8"></div>
<div id="test-laypage-demo9"></div>
<div id="test-laypage-demo10"></div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">自定义每页条数的选择项</div>
<div class="layui-card-body">
<div id="test-laypage-demo11"></div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">将一段已知数组分页展示</div>
<div class="layui-card-body">
<div id="test-laypage-demo20"></div>
<ul id="test-laypage-biuuu_city_list"></ul>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'laypage'], function(){
var laypage = layui.laypage;
//完整功能
laypage.render({
elem: 'test-laypage-demo7'
,count: 100
,layout: ['count', 'prev', 'page', 'next', 'limit', 'skip']
,jump: function(obj){
console.log(obj)
}
});
//自定义排版
laypage.render({
elem: 'test-laypage-demo8'
,count: 1000
,layout: ['limit', 'prev', 'page', 'next']
});
laypage.render({
elem: 'test-laypage-demo9'
,count: 1000
,layout: ['prev', 'next', 'page']
});
laypage.render({
elem: 'test-laypage-demo10'
,count: 1000
,layout: ['page', 'count']
});
//自定义每页条数的选择项
laypage.render({
elem: 'test-laypage-demo11'
,count: 1000
,limit: 100
,limits: [100, 300, 500]
});
//将一段数组分页展示
//测试数据
var testLayPageData = [
'北京',
'上海',
'广州',
'深圳',
'杭州',
'长沙',
'合肥',
'宁夏',
'成都',
'西安',
'南昌',
'上饶',
'沈阳',
'济南',
'厦门',
'福州',
'九江',
'宜春',
'赣州',
'宁波',
'绍兴',
'无锡',
'苏州',
'徐州',
'东莞',
'佛山',
'中山',
'成都',
'武汉',
'青岛',
'天津',
'重庆',
'南京',
'九江',
'香港',
'澳门',
'台北'
];
//调用分页
laypage.render({
elem: 'test-laypage-demo20'
,count: testLayPageData.length
,jump: function(obj){
//模拟渲染
document.getElementById('test-laypage-biuuu_city_list').innerHTML = function(){
var arr = []
,thisData = testLayPageData.concat().splice(obj.curr*obj.limit - obj.limit, obj.limit);
layui.each(thisData, function(index, item){
arr.push('<li>'+ item +'</li>');
});
return arr.join('');
}();
}
});
});
</script>

View File

@@ -0,0 +1,206 @@
<title>导航</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>导航</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
#LAY-component-nav .layui-nav-tree {vertical-align: top;}
</style>
<div class="layui-fluid" id="LAY-component-nav">
<div class="layui-row layui-col-space15">
<div class="layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">水平导航菜单</div>
<div class="layui-card-body">
<ul class="layui-nav" lay-filter="component-nav">
<li class="layui-nav-item"><a href="javascript:;">最新活动</a></li>
<li class="layui-nav-item layui-this">
<a href="javascript:;">产品</a>
<dl class="layui-nav-child">
<dd><a href="javascript:;">选项1</a></dd>
<dd><a href="javascript:;">选项2</a></dd>
<dd><a href="javascript:;">选项3</a></dd>
</dl>
</li>
<li class="layui-nav-item"><a href="javascript:;">大数据</a></li>
<li class="layui-nav-item">
<a href="javascript:;">解决方案</a>
<dl class="layui-nav-child">
<dd><a href="javascript:;">移动模块</a></dd>
<dd><a href="javascript:;">后台模版</a></dd>
<dd class="layui-this"><a href="javascript:;">选中项</a></dd>
<dd><a href="javascript:;">电商平台</a></dd>
</dl>
</li>
<li class="layui-nav-item"><a href="javascript:;">社区</a></li>
</ul>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">导航带徽章和图片</div>
<div class="layui-card-body">
<ul class="layui-nav" lay-filter="component-nav">
<li class="layui-nav-item">
<a href="javascript:;">控制台<span class="layui-badge">9</span></a>
</li>
<li class="layui-nav-item">
<a href="javascript:;">个人中心<span class="layui-badge-dot"></span></a>
</li>
<li class="layui-nav-item" lay-unselect="">
<a href="javascript:;"><img src="http://t.cn/RCzsdCq" class="layui-nav-img"></a>
<dl class="layui-nav-child">
<dd><a href="javascript:;">修改信息</a></dd>
<dd><a href="javascript:;">安全管理</a></dd>
<dd><a href="javascript:;">退了</a></dd>
</dl>
</li>
</ul>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">导航主题</div>
<div class="layui-card-body">
<ul class="layui-nav layui-bg-cyan" lay-filter="component-nav">
<li class="layui-nav-item"><a href="javascript:;">藏青导航</a></li>
<li class="layui-nav-item layui-this"><a href="javascript:;">产品</a></li>
<li class="layui-nav-item"><a href="javascript:;">大数据</a></li>
<li class="layui-nav-item">
<a href="javascript:;">解决方案</a>
<dl class="layui-nav-child">
<dd><a href="javascript:;">移动模块</a></dd>
<dd><a href="javascript:;">后台模版</a></dd>
<dd><a href="javascript:;">电商平台</a></dd>
</dl>
</li>
<li class="layui-nav-item"><a href="javascript:;">社区</a></li>
</ul>
<br>
<ul class="layui-nav layui-bg-green" lay-filter="component-nav">
<li class="layui-nav-item"><a href="javascript:;">墨绿导航</a></li>
<li class="layui-nav-item layui-this"><a href="javascript:;">产品</a></li>
<li class="layui-nav-item"><a href="javascript:;">大数据</a></li>
<li class="layui-nav-item">
<a href="javascript:;">解决方案</a>
<dl class="layui-nav-child">
<dd><a href="javascript:;">移动模块</a></dd>
<dd><a href="javascript:;">后台模版</a></dd>
<dd><a href="javascript:;">电商平台</a></dd>
</dl>
</li>
<li class="layui-nav-item"><a href="javascript:;">社区</a></li>
</ul>
<br>
<ul class="layui-nav layui-bg-blue" lay-filter="component-nav">
<li class="layui-nav-item"><a href="javascript:;">艳蓝导航</a></li>
<li class="layui-nav-item layui-this"><a href="javascript:;">产品</a></li>
<li class="layui-nav-item"><a href="javascript:;">大数据</a></li>
<li class="layui-nav-item">
<a href="javascript:;">解决方案</a>
<dl class="layui-nav-child">
<dd><a href="javascript:;">移动模块</a></dd>
<dd><a href="javascript:;">后台模版</a></dd>
<dd><a href="javascript:;">电商平台</a></dd>
</dl>
</li>
<li class="layui-nav-item"><a href="javascript:;">社区</a></li>
</ul>
</div>
</div>
</div>
<div class="layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">垂直导航菜单</div>
<div class="layui-card-body">
<ul class="layui-nav layui-nav-tree layui-inline" lay-filter="component-nav-active" style="margin-right: 10px;">
<li class="layui-nav-item layui-nav-itemed">
<a href="javascript:;">默认展开</a>
<dl class="layui-nav-child">
<dd><a href="javascript:;">选项一</a></dd>
<dd><a href="javascript:;">选项二</a></dd>
<dd><a href="javascript:;">选项三</a></dd>
<dd><a href="javascript:;">跳转项</a></dd>
</dl>
</li>
<li class="layui-nav-item">
<a href="javascript:;">解决方案</a>
<dl class="layui-nav-child">
<dd><a href="javascript:;">移动模块</a></dd>
<dd><a href="javascript:;">后台模版</a></dd>
<dd><a href="javascript:;">电商平台</a></dd>
</dl>
</li>
<li class="layui-nav-item"><a href="javascript:;">云市场</a></li>
<li class="layui-nav-item"><a href="javascript:;">社区</a></li>
</ul>
<ul class="layui-nav layui-nav-tree layui-bg-cyan layui-inline" lay-filter="component-nav-active">
<li class="layui-nav-item layui-nav-itemed">
<a href="javascript:;">默认展开</a>
<dl class="layui-nav-child">
<dd><a href="javascript:;">选项一</a></dd>
<dd><a href="javascript:;">选项二</a></dd>
<dd><a href="javascript:;">选项三</a></dd>
<dd><a href="http://www.baidu.com#/admin/" target="_blank">跳转项</a></dd>
</dl>
</li>
<li class="layui-nav-item">
<a href="javascript:;">解决方案</a>
<dl class="layui-nav-child">
<dd><a href="javascript:;">移动模块</a></dd>
<dd><a href="javascript:;">后台模版</a></dd>
<dd><a href="javascript:;">电商平台</a></dd>
</dl>
</li>
<li class="layui-nav-item"><a href="javascript:;">云市场</a></li>
<li class="layui-nav-item"><a href="javascript:;">社区</a></li>
</ul>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">面包屑</div>
<div class="layui-card-body">
<span class="layui-breadcrumb" lay-filter="breadcrumb">
<a href="javascript:;">首页</a>
<a href="javascript:;">演示</a>
<a><cite>导航元素</cite></a>
</span>
<br>
<span class="layui-breadcrumb" lay-separator="-" lay-filter="breadcrumb">
<a href="javascript:;">首页</a>
<a href="javascript:;">演示</a>
<a><cite>导航元素</cite></a>
</span>
<br>
<span class="layui-breadcrumb" lay-separator="\" lay-filter="breadcrumb">
<a href="javascript:;">首页</a>
<a href="javascript:;">演示</a>
<a><cite>导航元素</cite></a>
</span>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$
,admin = layui.admin
,element = layui.element;
element.render('nav', 'component-nav');
element.render('nav', 'component-nav-active');
element.on('nav(component-nav-active)', function(elem){
layer.msg(elem.text());
});
});
</script>

View File

@@ -0,0 +1,181 @@
<title>面板</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>面板</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
</style>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">折叠面板</div>
<div class="layui-card-body">
<div class="layui-collapse" lay-filter="component-panel">
<div class="layui-colla-item">
<h2 class="layui-colla-title">为什么JS社区大量采用未发布或者未广泛支持的语言特性</h2>
<div class="layui-colla-content">
<p>有不少其他答案说是因为JS太差。我下面的答案已经说了这不是根本性的原因。但除此之外我还要纠正一些对JS具体问题的误解。JS当初是被作为脚本语言设计的所以某些问题并不是JS设计得差或者是JS设计者的失误。比如var的作用域问题并不是“错误”而是当时绝大部分脚本语言都是这样的如perl/php/sh等。模块的问题也是脚本语言几乎都没有模块/命名空间功能。弱类型、for-in之类的问题也是只不过现在用那些老的脚本语言的人比较少所以很多人都误以为是JS才有的坑。另外有人说JS是半残语言满足不了开发需求1999年就该死。半残这个嘛就夸张了。JS虽然有很多问题但是设计总体还是优秀的。——来自知乎@贺师俊</p>
</div>
</div>
<div class="layui-colla-item">
<h2 class="layui-colla-title">为什么前端工程师多不愿意用 Bootstrap 框架?</h2>
<div class="layui-colla-content">
<p>因为不适合。如果希望开发长期的项目或者制作产品类网站,那么就需要实现特定的设计,为了在维护项目中可以方便地按设计师要求快速修改样式,肯定会逐步编写出各种业务组件、工具类,相当于为项目自行开发一套框架。——来自知乎@Kayo</p>
</div>
</div>
<div class="layui-colla-item">
<h2 class="layui-colla-title">layui 更适合哪些开发者?</h2>
<div class="layui-colla-content">
<p>在前端技术快速变革的今天layui 仍然坚持语义化的组织模式甚至于模块理念都是采用类AMD组织形式并非是有意与时代背道而驰。layui 认为以jQuery为核心的开发方式还没有到完全消亡的时候而早期市面上基于jQuery的UI都普通做得差强人意所以需要有一个新的UI去重新为这一领域注入活力并采用一些更科学的架构方式。
<br><br>
因此准确地说layui 更多是面向那些追求开发简单的前端工程师们,以及所有层次的服务端程序员。</p>
</div>
</div>
<div class="layui-colla-item">
<h2 class="layui-colla-title">张三是男是女?</h2>
<div class="layui-colla-content">
<p>man 所以这个问题不要再出现了。。。</p>
</div>
</div>
</div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">手风琴折叠</div>
<div class="layui-card-body">
<div class="layui-collapse" lay-accordion="">
<div class="layui-colla-item">
<h2 class="layui-colla-title">layui 更适合哪些开发者?</h2>
<div class="layui-colla-content layui-show">
<p>在前端技术快速变革的今天layui 仍然坚持语义化的组织模式甚至于模块理念都是采用类AMD组织形式并非是有意与时代背道而驰。layui 认为以jQuery为核心的开发方式还没有到完全消亡的时候而早期市面上基于jQuery的UI都普通做得差强人意所以需要有一个新的UI去重新为这一领域注入活力并采用一些更科学的架构方式。
<br>
因此准确地说layui 更多是面向那些追求开发简单的前端工程师们,以及所有层次的服务端程序员。</p>
</div>
</div>
<div class="layui-colla-item">
<h2 class="layui-colla-title">为什么JS社区大量采用未发布或者未广泛支持的语言特性</h2>
<div class="layui-colla-content">
<p>有不少其他答案说是因为JS太差。我下面的答案已经说了这不是根本性的原因。但除此之外我还要纠正一些对JS具体问题的误解。JS当初是被作为脚本语言设计的所以某些问题并不是JS设计得差或者是JS设计者的失误。比如var的作用域问题并不是“错误”而是当时绝大部分脚本语言都是这样的如perl/php/sh等。模块的问题也是脚本语言几乎都没有模块/命名空间功能。弱类型、for-in之类的问题也是只不过现在用那些老的脚本语言的人比较少所以很多人都误以为是JS才有的坑。另外有人说JS是半残语言满足不了开发需求1999年就该死。半残这个嘛就夸张了。JS虽然有很多问题但是设计总体还是优秀的。——来自知乎@贺师俊</p>
</div>
</div>
<div class="layui-colla-item">
<h2 class="layui-colla-title">为什么前端工程师多不愿意用 Bootstrap 框架?</h2>
<div class="layui-colla-content">
<p>因为不适合。如果希望开发长期的项目或者制作产品类网站,那么就需要实现特定的设计,为了在维护项目中可以方便地按设计师要求快速修改样式,肯定会逐步编写出各种业务组件、工具类,相当于为项目自行开发一套框架。——来自知乎@Kayo</p>
</div>
</div>
<div class="layui-colla-item">
<h2 class="layui-colla-title">张三是男是女?</h2>
<div class="layui-colla-content">
<p>man 所以这个问题不要再出现了。。。</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">折叠面板嵌套</div>
<div class="layui-card-body">
<div class="layui-collapse" lay-accordion="">
<div class="layui-colla-item">
<h2 class="layui-colla-title">文豪</h2>
<div class="layui-colla-content layui-show">
<div class="layui-collapse" lay-accordion="">
<div class="layui-colla-item">
<h2 class="layui-colla-title">唐代</h2>
<div class="layui-colla-content layui-show">
<div class="layui-collapse" lay-accordion="">
<div class="layui-colla-item">
<h2 class="layui-colla-title">杜甫</h2>
<div class="layui-colla-content layui-show">
伟大的诗人
</div>
</div>
<div class="layui-colla-item">
<h2 class="layui-colla-title">李白</h2>
<div class="layui-colla-content">
<p>据说是韩国人</p>
</div>
</div>
<div class="layui-colla-item">
<h2 class="layui-colla-title">王勃</h2>
<div class="layui-colla-content">
<p>千古绝唱《滕王阁序》</p>
</div>
</div>
</div>
</div>
</div>
<div class="layui-colla-item">
<h2 class="layui-colla-title">宋代</h2>
<div class="layui-colla-content">
<p>比如苏轼、李清照</p>
</div>
</div>
<div class="layui-colla-item">
<h2 class="layui-colla-title">当代</h2>
<div class="layui-colla-content">
<p>比如张三</p>
</div>
</div>
</div>
</div>
</div>
<div class="layui-colla-item">
<h2 class="layui-colla-title">科学家</h2>
<div class="layui-colla-content">
<p>伟大的科学家</p>
</div>
</div>
<div class="layui-colla-item">
<h2 class="layui-colla-title">艺术家</h2>
<div class="layui-colla-content">
<p>浑身散发着艺术细胞</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">卡片面板</div>
<div class="layui-card-body" style="height: 200px;">
就是当前这个
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$
,admin = layui.admin
,element = layui.element
,router = layui.router();
element.render('collapse');
//折叠
element.on('collapse(component-panel)', function(data){
layer.msg('展开状态:'+ data.show);
});
});
</script>

View File

@@ -0,0 +1,159 @@
<title>进度条</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>进度条</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
.layui-progress{margin: 20px 0;}
</style>
<div class="layui-fluid" id="LAY-component-progress">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">默认进度条</div>
<div class="layui-card-body">
<div class="layui-progress">
<div class="layui-progress-bar" lay-percent="50%"></div>
</div>
<div class="layui-row layui-col-space15">
<div class="layui-col-xs6">
<div class="layui-progress">
<div class="layui-progress-bar" lay-percent="50%"></div>
</div>
</div>
<div class="layui-col-xs6">
<div class="layui-progress">
<div class="layui-progress-bar" lay-percent="50%"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">更多颜色进度条</div>
<div class="layui-card-body">
<div class="layui-progress">
<div class="layui-progress-bar layui-bg-red" lay-percent="20%"></div>
</div>
<div class="layui-progress">
<div class="layui-progress-bar layui-bg-orange" lay-percent="30%"></div>
</div>
<div class="layui-progress">
<div class="layui-progress-bar layui-bg-green" lay-percent="40%"></div>
</div>
<div class="layui-progress">
<div class="layui-progress-bar layui-bg-blue" lay-percent="50%"></div>
</div>
<div class="layui-progress">
<div class="layui-progress-bar layui-bg-cyan" lay-percent="60%"></div>
</div>
<div class="layui-progress layui-progress-big">
<div class="layui-progress-bar" lay-percent="20%"></div>
</div>
<div class="layui-progress layui-progress-big">
<div class="layui-progress-bar layui-bg-green" lay-percent="35%"></div>
</div>
<div class="layui-progress layui-progress-big">
<div class="layui-progress-bar layui-bg-cyan" lay-percent="75%"></div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">动态改变进度</div>
<div class="layui-card-body">
<div class="layui-progress layui-progress-big" lay-showpercent="true" lay-filter="component-progress-demo">
<div class="layui-progress-bar layui-bg-red" lay-percent="0%"></div>
</div>
<div class="layui-btn-container" style="margin-top: 20px; margin-bottom: 0;">
<button class="layui-btn site-demo-active" data-type="setPercent">设置50%</button>
<button class="layui-btn site-demo-active" data-type="loading">模拟loading</button>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">显示进度比文本</div>
<div class="layui-card-body">
<div class="layui-progress" lay-showpercent="true">
<div class="layui-progress-bar" lay-percent="20%"></div>
</div>
<div class="layui-progress" lay-showpercent="true">
<div class="layui-progress-bar" lay-percent="5 / 10"></div>
</div>
<div class="layui-progress layui-progress-big" lay-showpercent="true">
<div class="layui-progress-bar" lay-percent="70%"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$
,admin = layui.admin
,element = layui.element
,router = layui.router();
element.render('progress');
//触发事件
var active = {
setPercent: function(){
//设置50%进度
element.progress('component-progress-demo', '50%')
}
,loading: function(othis){
var DISABLED = 'layui-btn-disabled';
if(othis.hasClass(DISABLED)) return;
//模拟loading
var n = 0, timer = setInterval(function(){
n = n + Math.random()*10|0;
if(n>100){
n = 100;
clearInterval(timer);
othis.removeClass(DISABLED);
}
element.progress('component-progress-demo', n+'%');
}, 300+Math.random()*1000);
othis.addClass(DISABLED);
}
};
$('#LAY-component-progress .site-demo-active').on('click', function(){
var othis = $(this), type = $(this).data('type');
active[type] ? active[type].call(this, othis) : '';
});
});
</script>

View File

@@ -0,0 +1,177 @@
<title>评分组件</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>评分组件</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">基础效果</div>
<div class="layui-card-body">
<div id="test-rate-dome1"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">显示文字</div>
<div class="layui-card-body">
<div id="test-rate-dome2"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">半星效果</div>
<div class="layui-card-body">
<div id="test-rate-dome3"></div>
<div><div id="test-rate-dome4"></div></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">自定义主题色</div>
<div class="layui-card-body">
<ul>
<li><div id="test-rate-dome10"></div></li>
<li><div id="test-rate-dome11"></div></li>
<li><div id="test-rate-dome12"></div></li>
<li><div id="test-rate-dome13"></div></li>
<li><div id="test-rate-dome14"></div></li>
</ul>
</div>
</div>
</div>
<div class="layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">只读</div>
<div class="layui-card-body">
<div id="test-rate-dome9"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">自定义内容</div>
<div class="layui-card-body">
<div id="test-rate-dome5"></div>
<div><div id="test-rate-dome6"></div></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">自定义长度</div>
<div class="layui-card-body">
<div id="test-rate-dome7"></div>
<div><div id="test-rate-dome8"></div></div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'rate'], function(){
var rate = layui.rate;
//基础效果
rate.render({
elem: '#test-rate-dome1'
})
//显示文字
rate.render({
elem: '#test-rate-dome2'
,value: 2 //初始值
,text: true //开启文本
});
//半星效果
rate.render({
elem: '#test-rate-dome3'
,value: 2.5 //初始值
,half: true //开启半星
})
rate.render({
elem: '#test-rate-dome4'
,value: 3.5
,half: true
,text: true
})
//自定义文本
rate.render({
elem: '#test-rate-dome5'
,value: 3
,text: true
,setText: function(value){ //自定义文本的回调
var arrs = {
'1': '极差'
,'2': '差'
,'3': '中等'
,'4': '好'
,'5': '极好'
};
this.span.text(arrs[value] || ( value + "星"));
}
})
rate.render({
elem: '#test-rate-dome6'
,value: 1.5
,half: true
,text: true
,setText: function(value){
this.span.text(value);
}
})
//自定义长度
rate.render({
elem: '#test-rate-dome7'
,length: 3
});
rate.render({
elem: '#test-rate-dome8'
,length: 10
,value: 8 //初始值
});
//只读
rate.render({
elem: '#test-rate-dome9'
,value: 4
,readonly: true
});
//主题色
rate.render({
elem: '#test-rate-dome10'
,value: 3
,theme: '#FF8000' //自定义主题色
});
rate.render({
elem: '#test-rate-dome11'
,value: 3
,theme: '#16baaa'
});
rate.render({
elem: '#test-rate-dome12'
,value: 2.5
,half: true
,theme: '#1E9FFF'
})
rate.render({
elem: '#test-rate-dome13'
,value: 2.5
,half: true
,theme: '#2F4056'
});
rate.render({
elem: '#test-rate-dome14'
,value: 2.5
,half: true
,theme: '#FE0000'
})
});
</script>

View File

@@ -0,0 +1,216 @@
<title>滑块组件</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>滑块组件</cite></a>
</div>
</div>
<style>
.test-slider-demo{margin: 45px 30px;}
</style>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">基础效果</div>
<div class="layui-card-body">
<div id="test-slider-demo1" class="test-slider-demo"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">定义初始值</div>
<div class="layui-card-body">
<div id="test-slider-demo2" class="test-slider-demo"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">设置最大最小值</div>
<div class="layui-card-body">
<div id="test-slider-demo3" class="test-slider-demo"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">设置步长</div>
<div class="layui-card-body">
<div id="test-slider-demo4" class="test-slider-demo"></div>
<div id="test-slider-demo5" class="test-slider-demo"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">设置提示文本</div>
<div class="layui-card-body">
<div id="test-slider-demo6" class="test-slider-demo"></div>
<div id="test-slider-demo7" class="test-slider-demo"></div>
<div id="test-slider-tips1" style="position:relative; left: 30px; top: -20px;"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">开启输入框</div>
<div class="layui-card-body">
<div id="test-slider-demo8" class="test-slider-demo"></div>
</div>
</div>
</div>
<div class="layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">开启范围选择</div>
<div class="layui-card-body">
<div id="test-slider-demo9" class="test-slider-demo"></div>
<div id="test-slider-tips2" style="position:relative; left: 30px; margin-top: -10px;"></div>
<div id="test-slider-demo10" class="test-slider-demo"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">垂直滑块</div>
<div class="layui-card-body">
<div id="test-slider-demo11" style="margin: 45px 30px; display: inline-block;"></div>
<div id="test-slider-demo12" style="margin: 45px 30px; display: inline-block;"></div>
<div id="test-slider-demo13" style="margin: 45px 30px; display: inline-block;"></div>
<div id="test-slider-demo14" style="margin: 45px 30px; display: inline-block;"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">自定义颜色</div>
<div class="layui-card-body">
<div id="test-slider-demo15" class="test-slider-demo"></div>
<div id="test-slider-demo16" class="test-slider-demo"></div>
<div id="test-slider-demo17" class="test-slider-demo"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">禁用滑块</div>
<div class="layui-card-body">
<div id="test-slider-demo18" class="test-slider-demo"></div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'slider'], function(){
var $ = layui.$
,slider = layui.slider;
//默认滑块
slider.render({
elem: '#test-slider-demo1'
});
//定义初始值
slider.render({
elem: '#test-slider-demo2'
,value: 20 //初始值
});
//设置最大最小值
slider.render({
elem: '#test-slider-demo3'
,min: 20 //最小值
,max: 50 //最大值
});
//设置步长
slider.render({
elem: '#test-slider-demo4'
,step: 10 //步长
});
slider.render({
elem: '#test-slider-demo5'
,step: 10 //步长
,showstep: true //开启间隔点
});
//设置提示文本
slider.render({
elem: '#test-slider-demo6'
,min: 20
,max: 1000
,setTips: function(value){ //自定义提示文本
return value + 'GB';
}
});
slider.render({
elem: '#test-slider-demo7'
,tips: false //关闭默认提示层
,change: function(value){
$('#test-slider-tips1').html('当前数值:'+ value);
}
});
//开启输入框
slider.render({
elem: '#test-slider-demo8'
,input: true //输入框
});
//开启范围选择
slider.render({
elem: '#test-slider-demo9'
,value: 40 //初始值
,range: true //范围选择
,change: function(vals){
$('#test-slider-tips2').html('开始值:'+ vals[0] + '、结尾值:'+ vals[1]);
}
});
slider.render({
elem: '#test-slider-demo10'
,value: [30, 60] //初始值
,range: true //范围选择
});
//垂直滑块
slider.render({
elem: '#test-slider-demo11'
,type: 'vertical' //垂直滑块
});
slider.render({
elem: '#test-slider-demo12'
,value: 30
,type: 'vertical' //垂直滑块
});
slider.render({
elem: '#test-slider-demo13'
,value: 50
,range: true //范围选择
,type: 'vertical' //垂直滑块
});
slider.render({
elem: '#test-slider-demo14'
,value: 80
,input: true //输入框
,type: 'vertical' //垂直滑块
});
//自定义颜色
slider.render({
elem: '#test-slider-demo15'
,theme: '#1E9FFF' //主题色
});
slider.render({
elem: '#test-slider-demo16'
,value: 50
,theme: '#16b777' //主题色
});
slider.render({
elem: '#test-slider-demo17'
,value: [30, 70]
,range: true
,theme: '#FF5722' //主题色
});
//禁用滑块
slider.render({
elem: '#test-slider-demo18'
,value: 35
,disabled: true //禁用滑块
});
});
</script>

View File

@@ -0,0 +1,49 @@
<title>列宽自动分配 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>列宽自动分配</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">列宽自动分配</div>
<div class="layui-card-body">
<table class="layui-hide" id="test-table-autowidth"></table>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table'], function(){
var table = layui.table;
table.render({
elem: '#test-table-autowidth'
,url: './res/json/table/user.js'
,cellMinWidth: 80 //全局定义常规单元格的最小宽度layui 2.2.1 新增
,cols: [[
{field:'id', title: 'ID', sort: true}
,{field:'username', title: '用户名'} //width 支持:数字、百分比和不填写。你还可以通过 minWidth 参数局部定义当前单元格的最小宽度layui 2.2.1 新增
,{field:'sex', title: '性别', sort: true}
,{field:'city', title: '城市'}
,{field:'sign', title: '签名'}
,{field:'classify', title: '职业', align: 'center'} //单元格内容水平居中
,{field:'experience', title: '积分', sort: true, align: 'right'} //单元格内容水平居中
,{field:'score', title: '评分', sort: true, align: 'right'}
,{field:'wealth', title: '财富', sort: true, align: 'right'}
]]
});
});
</script>

View File

@@ -0,0 +1,56 @@
<title>开启单元格编辑 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>开启单元格编辑</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">开启单元格编辑</div>
<div class="layui-card-body">
<table class="layui-hide" id="test-table-cellEdit" lay-filter="test-table-cellEdit"></table>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table'], function(){
var table = layui.table;
table.render({
elem: '#test-table-cellEdit'
,url: './res/json/table/demo.js'
,cols: [[
{type:'checkbox'}
,{field:'id', title:'ID', width:80, sort: true}
,{field:'username', title:'用户名', width:120, sort: true, edit: 'text'}
,{field:'email', title:'邮箱', edit: 'text', minWidth: 150}
,{field:'sex', title:'性别', width:80, edit: 'text'}
,{field:'city', title:'城市', edit: 'text', minWidth: 100}
,{field:'experience', title:'积分', sort: true, edit: 'text'}
]]
})
//单元格编辑
table.on('edit(test-table-cellEdit)', function(obj){
var value = obj.value //得到修改后的值
,data = obj.data //得到所在行所有键值
,field = obj.field; //得到字段
layer.msg('[ID: '+ data.id +'] ' + field + ' 字段更改为:'+ value, {
offset: '15px'
});
});
});
</script>

View File

@@ -0,0 +1,67 @@
<title>单元格事件 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>单元格事件</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">单元格事件</div>
<div class="layui-card-body">
<blockquote class="layui-elem-quote">点击下面表格中的【签名列】,以演示单元格事件</blockquote>
<table class="layui-hide" id="test-table-demoEvent" lay-filter="test-table-demoEvent"></table>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table'], function(){
var table = layui.table;
table.render({
elem: '#test-table-demoEvent'
,height: 313
,url: './res/json/table/user.js'
,cols: [[
{field:'id', title: 'ID', width:80}
,{field:'username', title: '用户名', width:80}
,{field:'sign', title: '签名', width:'50%', event: 'setSign', style:'cursor: pointer;'}
,{field:'experience', title: '积分'}
,{field:'score', title: '评分'}
]]
});
//单元格事件
table.on('tool(test-table-demoEvent)', function(obj){
var data = obj.data;
if(obj.event === 'setSign'){
layer.prompt({
formType: 2
,title: '修改 ID 为 ['+ data.id +'] 的用户签名'
,value: data.sign
}, function(value, index){
layer.close(index);
//这里一般是发送修改的Ajax请求
//同步更新表格和缓存对应的值
obj.update({
sign: value
});
});
}
});
});
</script>

View File

@@ -0,0 +1,141 @@
<title>赋值已知数据 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>简单用法</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">赋值已知数据</div>
<div class="layui-card-body">
<table class="layui-hide" id="test-table-data"></table>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table'], function(){
var table = layui.table;
//展示已知数据
table.render({
elem: '#test-table-data'
,cols: [[ //标题栏
{field: 'id', title: 'ID', width: 80, sort: true}
,{field: 'username', title: '用户名', width: 120}
,{field: 'email', title: '邮箱', minWidth: 150}
,{field: 'sign', title: '签名', minWidth: 160}
,{field: 'sex', title: '性别', width: 80}
,{field: 'city', title: '城市', width: 100}
,{field: 'experience', title: '积分', width: 80, sort: true}
]]
,data: [{
"id": "10001"
,"username": "杜甫"
,"email": "xianxin@baidu.com"
,"sex": "男"
,"city": "浙江杭州"
,"sign": "人生恰似一场修行"
,"experience": "116"
,"ip": "192.168.0.8"
,"logins": "108"
,"joinTime": "2016-10-14"
}, {
"id": "10002"
,"username": "李白"
,"email": "xianxin@baidu.com"
,"sex": "男"
,"city": "浙江杭州"
,"sign": "人生恰似一场修行"
,"experience": "12"
,"ip": "192.168.0.8"
,"logins": "106"
,"joinTime": "2016-10-14"
,"LAY_CHECKED": true
}, {
"id": "10003"
,"username": "王勃"
,"email": "xianxin@baidu.com"
,"sex": "男"
,"city": "浙江杭州"
,"sign": "人生恰似一场修行"
,"experience": "65"
,"ip": "192.168.0.8"
,"logins": "106"
,"joinTime": "2016-10-14"
}, {
"id": "10004"
,"username": "张三"
,"email": "xianxin@baidu.com"
,"sex": "男"
,"city": "浙江杭州"
,"sign": "人生恰似一场修行"
,"experience": "777"
,"ip": "192.168.0.8"
,"logins": "106"
,"joinTime": "2016-10-14"
}, {
"id": "10005"
,"username": "张三"
,"email": "xianxin@baidu.com"
,"sex": "男"
,"city": "浙江杭州"
,"sign": "人生恰似一场修行"
,"experience": "86"
,"ip": "192.168.0.8"
,"logins": "106"
,"joinTime": "2016-10-14"
}, {
"id": "10006"
,"username": "张三"
,"email": "xianxin@baidu.com"
,"sex": "男"
,"city": "浙江杭州"
,"sign": "人生恰似一场修行"
,"experience": "12"
,"ip": "192.168.0.8"
,"logins": "106"
,"joinTime": "2016-10-14"
}, {
"id": "10007"
,"username": "张三"
,"email": "xianxin@baidu.com"
,"sex": "男"
,"city": "浙江杭州"
,"sign": "人生恰似一场修行"
,"experience": "16"
,"ip": "192.168.0.8"
,"logins": "106"
,"joinTime": "2016-10-14"
}, {
"id": "10008"
,"username": "张三"
,"email": "xianxin@baidu.com"
,"sex": "男"
,"city": "浙江杭州"
,"sign": "人生恰似一场修行"
,"experience": "106"
,"ip": "192.168.0.8"
,"logins": "106"
,"joinTime": "2016-10-14"
}]
//,skin: 'line' //表格风格
,even: true
//,page: true //是否显示分页
//,limits: [5, 7, 10]
//,limit: 5 //每页默认显示的数量
});
});
</script>

View File

@@ -0,0 +1,53 @@
<title>固定列 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>固定列</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">固定列</div>
<div class="layui-card-body">
<table class="layui-hide" id="test-table-fixed"></table>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table'], function(){
var table = layui.table
,admin = layui.admin;
table.render({
elem: '#test-table-fixed'
,url: './res/json/table/user.js'
,width: admin.screen() > 1 ? 892 : ''
,height: 332
,cols: [[
{type:'checkbox', fixed: 'left'}
,{field:'id', width:80, title: 'ID', sort: true, fixed: 'left'}
,{field:'username', width:80, title: '用户名'}
,{field:'sex', width:80, title: '性别', sort: true}
,{field:'city', width:80, title: '城市'}
,{field:'sign', width: 219, title: '签名'}
,{field:'experience', width:80, title: '积分', sort: true}
,{field:'score', width:80, title: '评分', sort: true}
,{field:'classify', width:80, title: '职业'}
,{field:'wealth', width:120, title: '财富', sort: true, fixed: 'right'}
]]
,page: true
});
});
</script>

View File

@@ -0,0 +1,82 @@
<title>加入表单元素 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>加入表单元素</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">加入表单元素</div>
<div class="layui-card-body">
<table class="layui-hide" id="test-table-form"></table>
<script type="text/html" id="test-table-switchTpl">
<!-- 这里的 checked 的状态只是演示 -->
<input type="checkbox" name="sex" lay-skin="switch" lay-text="女|男" lay-filter="test-table-sexDemo"
value="{{ d.id }}" data-json="{{ encodeURIComponent(JSON.stringify(d)) }}" {{ d.id == 10003 ? 'checked' : '' }}>
</script>
<script type="text/html" id="test-table-checkboxTpl">
<!-- 这里的 checked 的状态只是演示 -->
<input type="checkbox" name="lock" title="锁定" lay-filter="test-table-lockDemo"
value="{{d.id}}" data-json="{{ encodeURIComponent(JSON.stringify(d)) }}" {{ d.id == 10006 ? 'checked' : '' }}>
</script>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table', 'form'], function(){
var table = layui.table
,form = layui.form
,$ = layui.$;
table.render({
elem: '#test-table-form'
,url: './res/json/table/user.js'
,cellMinWidth: 80
,cols: [[
{type:'numbers'}
,{type: 'checkbox'}
,{field:'id', title:'ID', width:100, unresize: true, sort: true}
,{field:'username', title:'用户名'}
,{field:'city', title:'城市'}
,{field:'wealth', title: '财富', minWidth:120, sort: true}
,{field:'sex', title:'性别', width:85, templet: '#test-table-switchTpl', unresize: true}
,{field:'lock', title:'是否锁定', width:110, templet: '#test-table-checkboxTpl', unresize: true}
]]
,page: true
});
//性别操作
form.on('switch(test-table-sexDemo)', function(obj){
var json = JSON.parse(decodeURIComponent($(this).data('json')));
layer.tips(this.value + ' ' + this.name + ''+ obj.elem.checked, obj.othis);
json = table.clearCacheKey(json);
console.log(json); //当前行数据
});
//锁定操作
form.on('checkbox(test-table-lockDemo)', function(obj){
var json = JSON.parse(decodeURIComponent($(this).data('json')));
layer.tips(this.value + ' ' + this.name + ''+ obj.elem.checked, obj.othis);
json = table.clearCacheKey(json);
console.log(json); //当前行数据
});
});
</script>

View File

@@ -0,0 +1,316 @@
<title>综合演示 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>综合演示</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">综合演示</div>
<div class="layui-card-body">
<table class="layui-hide" id="test-table-index" lay-filter="test-table-index"></table>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
<button class="layui-btn layui-btn-sm" lay-event="getData">获取当前页数据</button>
<button class="layui-btn layui-btn-sm" lay-event="isAll">是否全选</button>
<button class="layui-btn layui-btn-sm layui-bg-blue" id="reloadTest">
重载测试
<i class="layui-icon layui-icon-down layui-font-12"></i>
</button>
<button class="layui-btn layui-btn-sm layui-btn-primary" lay-event="multi-row">
多行
</button>
<button class="layui-btn layui-btn-sm layui-btn-primary" lay-event="default-row">
单行
</button>
<button class="layui-btn layui-btn-sm" id="moreTest">
更多测试
<i class="layui-icon layui-icon-down layui-font-12"></i>
</button>
</div>
</script>
<script type="text/html" id="cityTpl">
<select id="demoCity1" class="layui-border" lay-ignore>
<option value="浙江杭州">浙江杭州</option>
<option value="江西南昌">江西南昌</option>
<option value="湖北武汉">湖北武汉</option>
</select>
</script>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table', 'dropdown'], function(){
var table = layui.table;
var dropdown = layui.dropdown;
// 创建渲染实例
table.render({
elem: '#test-table-index'
,url: layui.setter.paths.base + 'json/table/demo.js' // 此处为静态模拟数据,实际使用时需换成真实接口
,toolbar: '#toolbarDemo'
,defaultToolbar: ['filter', 'exports', 'print', {
title: '帮助'
,layEvent: 'LAYTABLE_TIPS'
,icon: 'layui-icon-tips'
}]
,height: 'full-200' // 最大高度减去其他容器已占有的高度差
,cellMinWidth: 80
,totalRow: true // 开启合计行
,page: true
,cols: [[
{type: 'checkbox', fixed: 'left'}
,{field:'id', fixed: 'left', width:80, title: 'ID', sort: true, totalRowText: '合计:'}
,{field:'username', width:80, title: '用户'}
,{field:'email', title:'邮箱 <i class="layui-icon layui-icon-email"></i>', hide: 0, width:150, edit: 'text'}
,{field:'sex', width:80, title: '性别', sort: true}
,{field:'city', width:115, title: '城市', minWidth:115, templet: '#cityTpl', exportTemplet: function(d, obj){
//console.log(obj)
// 处理该字段的导出数据
var td = obj.td(this.field); //获取当前 td
return td.find('select').val();
}}
,{field:'sign', title: '签名', edit: 'textarea', minWidth: 260}
,{field:'experience', width: 100, title: '积分', sort: true, totalRow: '{{= d.TOTAL_NUMS }} 😊'}
,{field:'checkin', title:'打卡', width: 100, sort: true, totalRow: '{{= parseInt(d.TOTAL_NUMS) }} 次'}
,{field:'ip', title:'IP', width: 120}
,{field:'joinTime', title:'加入时间', width: 120}
,{fixed: 'right', title:'操作', width: 125, minWidth: 125, toolbar: '#barDemo'}
]]
,done: function(){
var id = this.id;
// 重载测试
dropdown.render({
elem: '#reloadTest' //可绑定在任意元素中,此处以上述按钮为例
,data: [{
id: 'reload',
title: '重载'
},{
id: 'reload-deep',
title: '重载 - 参数叠加'
},{
id: 'reloadData',
title: '仅重载数据'
},{
id: 'reloadData-deep',
title: '仅重载数据 - 参数叠加'
}]
// 菜单被点击的事件
,click: function(obj){
switch(obj.id){
case 'reload':
// 重载 - 默认(参数重置)
table.reload('test-table-index', {
where: {
abc: '123456'
//,test: '新的 test2'
//,token: '新的 token2'
}
/*
,cols: [[ // 重置表头
{type: 'checkbox', fixed: 'left'}
,{field:'id', title:'ID', width:80, fixed: 'left', unresize: true, sort: true, totalRowText: '合计:'}
,{field:'sex', title:'性别', width:80, edit: 'text', sort: true}
,{field:'experience', title:'积分', width:80, sort: true, totalRow: true, templet: '<div>{{ d.experience }} 分</div>'}
,{field:'logins', title:'登入次数', width:100, sort: true, totalRow: true}
,{field:'joinTime', title:'加入时间', width:120}
]]
*/
});
break;
case 'reload-deep':
// 重载 - 深度(参数叠加)
table.reload('test-table-index', {
where: {
abc: 123
,test: '新的 test1'
}
//,defaultToolbar: ['print'] // 重载头部工具栏右侧图标
//,cols: ins1.config.cols
}, true);
break;
case 'reloadData':
// 数据重载 - 参数重置
table.reloadData('test-table-index', {
where: {
abc: '123456'
//,test: '新的 test2'
//,token: '新的 token2'
}
,scrollPos: 'fixed' // 保持滚动条位置不变 - v2.7.3 新增
,height: 2000 // 测试无效参数(即与数据无关的参数设置无效,此处以 height 设置无效为例)
//,url: '404'
//,page: {curr: 1, limit: 30} // 重新指向分页
});
break;
case 'reloadData-deep':
// 数据重载 - 参数叠加
table.reloadData('test-table-index', {
where: {
abc: 123
,test: '新的 test1'
}
}, true);
break;
}
layer.msg('可观察 Network 请求参数的变化');
}
});
// 更多测试
dropdown.render({
elem: '#moreTest' //可绑定在任意元素中,此处以上述按钮为例
,data: [{
id: 'add',
title: '添加'
},{
id: 'update',
title: '编辑'
},{
id: 'delete',
title: '删除'
}]
//菜单被点击的事件
,click: function(obj){
var checkStatus = table.checkStatus(id)
var data = checkStatus.data; // 获取选中的数据
switch(obj.id){
case 'add':
layer.open({
title: '添加',
type: 1,
area: ['80%','80%'],
content: '<div style="padding: 16px;">自定义表单元素</div>'
});
break;
case 'update':
if(data.length !== 1) return layer.msg('请选择一行');
layer.open({
title: '编辑',
type: 1,
area: ['80%','80%'],
content: '<div style="padding: 16px;">自定义表单元素</div>'
});
break;
case 'delete':
if(data.length === 0){
return layer.msg('请选择一行');
}
layer.msg('delete event');
break;
}
}
});
}
,error: function(res, msg){
console.log(res, msg)
}
});
// 工具栏事件
table.on('toolbar(test-table-index)', function(obj){
var id = obj.config.id;
var checkStatus = table.checkStatus(id);
var othis = lay(this);
switch(obj.event){
case 'getCheckData':
var data = checkStatus.data;
layer.alert(layui.util.escape(JSON.stringify(data)));
break;
case 'getData':
var getData = table.getData(id);
console.log(getData);
layer.alert(layui.util.escape(JSON.stringify(getData)));
break;
case 'isAll':
layer.msg(checkStatus.isAll ? '全选': '未全选')
break;
case 'multi-row':
table.reload('test-table-index', {
// 设置行样式,此处以设置多行高度为例。若为单行,则没必要设置改参数 - 注v2.7.0 新增
lineStyle: 'height: 95px;'
});
layer.msg('即通过设置 lineStyle 参数可开启多行');
break;
case 'default-row':
table.reload('test-table-index', {
lineStyle: null // 恢复单行
});
layer.msg('已设为单行');
break;
case 'LAYTABLE_TIPS':
layer.alert('Table for layui-v'+ layui.v);
break;
};
});
//触发单元格工具事件
table.on('tool(test-table-index)', function(obj){ // 双击 toolDouble
var data = obj.data;
//console.log(obj)
if(obj.event === 'del'){
layer.confirm('真的删除行么', function(index){
obj.del();
layer.close(index);
});
} else if(obj.event === 'edit'){
layer.open({
title: '编辑',
type: 1,
area: ['80%','80%'],
content: '<div style="padding: 16px;">自定义表单元素</div>'
});
}
});
//触发表格复选框选择
table.on('checkbox(test-table-index)', function(obj){
console.log(obj)
});
//触发表格单选框选择
table.on('radio(test-table-index)', function(obj){
console.log(obj)
});
// 行单击事件
table.on('row(test-table-index)', function(obj){
//console.log(obj);
//layer.closeAll('tips');
});
// 行双击事件
table.on('rowDouble(test-table-index)', function(obj){
console.log(obj);
});
// 单元格编辑事件
table.on('edit(test-table-index)', function(obj){
var field = obj.field //得到字段
,value = obj.value //得到修改后的值
,data = obj.data; //得到所在行所有键值
var update = {};
update[field] = value;
obj.update(update);
});
});
</script>

View File

@@ -0,0 +1,48 @@
<title>设置初始排序 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>设置初始排序</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">设置初始排序</div>
<div class="layui-card-body">
<table class="layui-hide" id="test-table-initSort"></table>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table'], function(){
var table = layui.table;
table.render({
elem: '#test-table-initSort'
,height: 313
,url: './res/json/table/user.js'
,initSort: {
field: 'wealth'
,type: 'desc'
}
,cols: [[
{field:'id', title: 'ID', width:80}
,{field:'username', title: '用户名', width:80}
,{field:'score', title: '评分', width:80, sort: true}
,{field:'wealth', title: '财富', sort: true, minWidth: 150}
]]
})
});
</script>

View File

@@ -0,0 +1,67 @@
<title>行事件 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>行事件</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">行事件</div>
<div class="layui-card-body">
<table class="layui-hide" id="test-table-onrow" lay-filter="test-table-onrow"></table>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table'], function(){
var admin = layui.admin
,table = layui.table;
table.render({
elem: '#test-table-onrow'
,url: './res/json/table/demo.js'
,cols: [[
{field:'id', title:'ID', width:80, fixed: 'left', unresize: true, sort: true}
,{field:'username', title:'用户名', width:120}
,{field:'email', title:'邮箱', width:150, templet: function(res){
return '<em>'+ res.email +'</em>'
}}
,{field:'sex', title:'性别', width:80, sort: true}
,{field:'city', title:'城市', width:100}
,{field:'sign', title:'签名'}
,{field:'experience', title:'积分', width:80, sort: true}
,{field:'ip', title:'IP', width:120}
,{field:'logins', title:'登入次数', width:100, sort: true}
,{field:'joinTime', title:'加入时间', width:120}
]]
,page: true
});
//行单击事件单击事件为rowDouble
table.on('row(test-table-onrow)', function(obj){
var data = obj.data;
layer.alert(layui.util.escape(JSON.stringify(data)), {
title: '当前行数据:'
});
//标注选中样式
obj.tr.addClass('layui-table-click').siblings().removeClass('layui-table-click');
});
});
</script>

View File

@@ -0,0 +1,65 @@
<title>解析任意数据格式 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>解析任意数据格式</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">解析任意数据格式</div>
<div class="layui-card-body">
<blockquote class="layui-elem-quote layui-text">
尽管本示例中的原始数据:<a href="./res/json/table/demo3.js" target="_blank">./res/json/table/demo3.js</a>,并不符合 table 组件默认规定的数据格式,但从 layui 2.4.0 开始,新增的 parseData 回调可以将原始的任意格式的数据重新解析成 table 组件规定的数据格式。具体可以点击上方查看代码。
</blockquote>
<table class="layui-hide" id="test-table-parseData" lay-filter="test-table-parseData"></table>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table'], function(){
var admin = layui.admin
,table = layui.table;
table.render({
elem: '#test-table-parseData'
,url: './res/json/table/demo3.js'
,toolbar: true
,title: '用户数据表'
,totalRow: true
,cellMinWidth: 120
,cols: [[
{field:'id', title:'ID', width:80, sort: true, totalRowText: '合计行'}
,{field:'username', title:'用户名', edit: 'text'}
,{field:'experience', title:'积分', sort: true, totalRow: true}
,{field:'logins', title:'登入次数', sort: true, totalRow: true}
]]
,page: true
,response: {
statusCode: 200 //重新规定成功的状态码为 200table 组件默认为 0
}
,parseData: function(res){ //将原始数据解析成 table 组件所规定的数据
return {
"code": res.status, //解析接口状态
"msg": res.message, //解析提示文本
"count": res.total, //解析数据长度
"data": res.rows.item //解析数据列表
};
}
});
});
</script>

View File

@@ -0,0 +1,70 @@
<title>开启单选框 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>开启单选框</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">开启单选框</div>
<div class="layui-card-body">
<table class="layui-hide" id="test-table-radio" lay-filter="test-table-radio"></table>
<script type="text/html" id="test-table-radio-toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
</div>
</script>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table'], function(){
var admin = layui.admin
,table = layui.table;
table.render({
elem: '#test-table-radio'
,url: './res/json/table/user.js'
,toolbar: '#test-table-radio-toolbarDemo'
,cols: [[
{type:'radio'}
,{field:'id', width:80, title: 'ID', sort: true}
,{field:'username', width:80, title: '用户名'}
,{field:'sex', width:80, title: '性别', sort: true}
,{field:'city', width:80, title: '城市'}
,{field:'sign', title: '签名', minWidth: 100}
,{field:'experience', width:80, title: '积分', sort: true}
,{field:'score', width:80, title: '评分', sort: true}
,{field:'classify', width:80, title: '职业'}
,{field:'wealth', width:135, title: '财富', sort: true}
]]
,page: true
});
//头工具栏事件
table.on('toolbar(test-table-radio)', function(obj){
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
switch(obj.event){
case 'getCheckData':
var data = checkStatus.data; //获取选中行数据
layer.alert(layui.util.escape(JSON.stringify(data)));
break;
};
});
});
</script>

View File

@@ -0,0 +1,58 @@
<title>自定义分页 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>自定义分页</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">自定义分页</div>
<div class="layui-card-body">
<table class="layui-hide" id="test-table-resetPage"></table>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table'], function(){
var admin = layui.admin
,table = layui.table;
table.render({
elem: '#test-table-resetPage'
,url: './res/json/table/user.js'
,page: { //支持传入 laypage 组件的所有参数某些参数除外jump/elem - 详见文档
layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
//,curr: 5 //设定初始在第 5 页
,groups: 1 //只显示 1 个连续页码
,first: false //不显示首页
,last: false //不显示尾页
}
,cols: [[
{field:'id', width:80, title: 'ID', sort: true}
,{field:'username', width:100, title: '用户名'}
,{field:'sex', width:80, title: '性别', sort: true}
,{field:'city', width:80, title: '城市'}
,{field:'sign', title: '签名', minWidth: 150}
,{field:'experience', width:80, title: '积分', sort: true}
,{field:'score', width:80, title: '评分', sort: true}
,{field:'classify', width:80, title: '职业'}
,{field:'wealth', width:135, title: '财富', sort: true}
]]
});
});
</script>

View File

@@ -0,0 +1,87 @@
<title>数据表格的重载 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>数据表格的重载</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">数据表格的重载</div>
<div class="layui-card-body">
<div class="test-table-reload-btn" style="margin-bottom: 10px;">
搜索ID
<div class="layui-inline">
<input class="layui-input" name="id" id="test-table-demoReload" autocomplete="off">
</div>
<button class="layui-btn" data-type="reload">搜索</button>
</div>
<table class="layui-hide" id="test-table-reload" lay-filter="user"></table>
<blockquote class="layui-elem-quote">此处由于是静态模拟数据,所以搜索后重载的结果没变,这并非是 BUG。实际使用时改成真实接口并根据搜索的字段筛选出对应的数据即可。</blockquote>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table'], function(){
var table = layui.table;
//方法级渲染
table.render({
elem: '#test-table-reload'
,url: './res/json/table/user.js'
,cols: [[
{checkbox: true, fixed: true}
,{field:'id', title: 'ID', width:80, sort: true, fixed: true}
,{field:'username', title: '用户名', width:80}
,{field:'sex', title: '性别', width:80, sort: true}
,{field:'city', title: '城市', width:80}
,{field:'sign', title: '签名'}
,{field:'experience', title: '积分', sort: true, width:80}
,{field:'score', title: '评分', sort: true, width:80}
,{field:'classify', title: '职业', width:80}
,{field:'wealth', title: '财富', sort: true, width:135}
]]
,page: true
,height: 315
});
var $ = layui.$, active = {
reload: function(){
var demoReload = $('#test-table-demoReload');
//执行重载
table.reload('test-table-reload', {
page: {
curr: 1 //重新从第 1 页开始
}
,where: {
key: {
id: demoReload.val()
}
}
});
}
};
$('.test-table-reload-btn .layui-btn').on('click', function(){
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
});
</script>

View File

@@ -0,0 +1,309 @@
<title>静态表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>静态表格</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">默认风格</div>
<div class="layui-card-body">
<table class="layui-table">
<colgroup>
<col width="150">
<col width="150">
<col width="200">
<col>
</colgroup>
<thead>
<tr>
<th>人物</th>
<th>民族</th>
<th>出场时间</th>
<th>格言</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>汉族</td>
<td>1989-10-14</td>
<td>人生似修行</td>
</tr>
<tr>
<td>张爱玲</td>
<td>汉族</td>
<td>1920-09-30</td>
<td>于千万人之中遇见你所遇见的人,于千万年之中,时间的无涯的荒野里…</td>
</tr>
<tr>
<td>Helen Keller</td>
<td>拉丁美裔</td>
<td>1880-06-27</td>
<td> Life is either a daring adventure or nothing.</td>
</tr>
<tr>
<td>岳飞</td>
<td>汉族</td>
<td>1103-北宋崇宁二年</td>
<td>三十功名尘与土,八千里路云和月</td>
</tr>
<tr>
<td>孟子</td>
<td>华夏族(汉族)</td>
<td>公元前-372年</td>
<td>穷则独善其身,达则兼济天下 </td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">行边框风格</div>
<div class="layui-card-body">
<table class="layui-table" lay-skin="line">
<colgroup>
<col width="150">
<col width="150">
<col width="200">
<col>
</colgroup>
<thead>
<tr>
<th>人物</th>
<th>民族</th>
<th>出场时间</th>
<th>格言</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>汉族</td>
<td>1989-10-14</td>
<td>人生似修行</td>
</tr>
<tr>
<td>张爱玲</td>
<td>汉族</td>
<td>1920-09-30</td>
<td>于千万人之中遇见你所遇见的人,于千万年之中,时间的无涯的荒野里…</td>
</tr>
<tr>
<td>Helen Keller</td>
<td>拉丁美裔</td>
<td>1880-06-27</td>
<td> Life is either a daring adventure or nothing.</td>
</tr>
<tr>
<td>岳飞</td>
<td>汉族</td>
<td>1103-北宋崇宁二年</td>
<td>三十功名尘与土,八千里路云和月</td>
</tr>
<tr>
<td>孟子</td>
<td>华夏族(汉族)</td>
<td>公元前-372年</td>
<td>穷则独善其身,达则兼济天下 </td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">列边框风格</div>
<div class="layui-card-body">
<table class="layui-table" lay-even="" lay-skin="row">
<colgroup>
<col width="150">
<col width="150">
<col width="200">
<col>
</colgroup>
<thead>
<tr>
<th>人物</th>
<th>民族</th>
<th>出场时间</th>
<th>格言</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>汉族</td>
<td>1989-10-14</td>
<td>人生似修行</td>
</tr>
<tr>
<td>张爱玲</td>
<td>汉族</td>
<td>1920-09-30</td>
<td>于千万人之中遇见你所遇见的人,于千万年之中,时间的无涯的荒野里…</td>
</tr>
<tr>
<td>Helen Keller</td>
<td>拉丁美裔</td>
<td>1880-06-27</td>
<td> Life is either a daring adventure or nothing.</td>
</tr>
<tr>
<td>岳飞</td>
<td>汉族</td>
<td>1103-北宋崇宁二年</td>
<td>三十功名尘与土,八千里路云和月</td>
</tr>
<tr>
<td>孟子</td>
<td>华夏族(汉族)</td>
<td>公元前-372年</td>
<td>穷则独善其身,达则兼济天下 </td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">无边框风格</div>
<div class="layui-card-body">
<table class="layui-table" lay-even="" lay-skin="nob">
<colgroup>
<col width="150">
<col width="150">
<col width="200">
<col>
</colgroup>
<thead>
<tr>
<th>人物</th>
<th>民族</th>
<th>出场时间</th>
<th>格言</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>汉族</td>
<td>1989-10-14</td>
<td>人生似修行</td>
</tr>
<tr>
<td>张爱玲</td>
<td>汉族</td>
<td>1920-09-30</td>
<td>于千万人之中遇见你所遇见的人,于千万年之中,时间的无涯的荒野里…</td>
</tr>
<tr>
<td>Helen Keller</td>
<td>拉丁美裔</td>
<td>1880-06-27</td>
<td> Life is either a daring adventure or nothing.</td>
</tr>
<tr>
<td>岳飞</td>
<td>汉族</td>
<td>1103-北宋崇宁二年</td>
<td>三十功名尘与土,八千里路云和月</td>
</tr>
<tr>
<td>孟子</td>
<td>华夏族(汉族)</td>
<td>公元前-372年</td>
<td>穷则独善其身,达则兼济天下 </td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">其它尺寸</div>
<div class="layui-card-body">
<table class="layui-table" lay-size="lg">
<colgroup>
<col width="150">
<col width="200">
<col>
</colgroup>
<thead>
<tr>
<th>昵称</th>
<th>加入时间</th>
<th>签名</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>2016-11-29</td>
<td>人生就像是一场修行</td>
</tr>
<tr>
<td>许闲心</td>
<td>2016-11-28</td>
<td>于千万人之中遇见你所遇见的人,于千万年之中,时间的无涯的荒野里…</td>
</tr>
<tr>
<td>sentsin</td>
<td>2016-11-27</td>
<td> Life is either a daring adventure or nothing.</td>
</tr>
</tbody>
</table>
<table class="layui-table" lay-size="sm">
<colgroup>
<col width="150">
<col width="200">
<col>
</colgroup>
<thead>
<tr>
<th>昵称</th>
<th>加入时间</th>
<th>签名</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>2016-11-29</td>
<td>人生就像是一场修行</td>
</tr>
<tr>
<td>许闲心</td>
<td>2016-11-28</td>
<td>于千万人之中遇见你所遇见的人,于千万年之中,时间的无涯的荒野里…</td>
</tr>
<tr>
<td>sentsin</td>
<td>2016-11-27</td>
<td> Life is either a daring adventure or nothing.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'])
</script>

View File

@@ -0,0 +1,63 @@
<title>设置单元格样式 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>设置单元格样式</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">设置单元格样式</div>
<div class="layui-card-body">
<table class="layui-hide" id="test-table-style"></table>
<script type="text/html" id="test-table-usernameTpl">
<a href="/?table-demo-id={{d.id}}" class="layui-table-link" target="_blank">{{ d.username }}</a>
</script>
<script type="text/html" id="test-table-sexTpl">
{{# if(d.sex === '女'){ }}
<span style="color: #F581B1;">{{ d.sex }}</span>
{{# } else { }}
{{ d.sex }}
{{# } }}
</script>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table'], function(){
var table = layui.table;
table.render({
elem: '#test-table-style'
,url: './res/json/table/user.js'
,height: 310
,cols: [[
{field:'id', title:'ID', width:80, sort: true}
,{field:'username', title:'用户名', width:80, templet: '#usernameTpl'}
,{field:'sex', title:'性别', width:80, sort: true, templet: '#sexTpl'}
,{field:'city', title:'城市', width:80}
,{field:'sign', title:'签名'}
,{field:'experience', title:'积分', width:80, sort: true, style:'background-color: #eee;'}
,{field:'score', title:'评分', width:80, sort: true}
,{field:'classify', title:'职业', width:80, style:'background-color: #16baaa; color: #fff;'}
,{field:'wealth', title:'财富', width:135, sort: true}
]]
,page: true
,skin: 'row'
,even: true
});
});
</script>

View File

@@ -0,0 +1,96 @@
<title>复杂表头 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>复杂表头</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">复杂表头</div>
<div class="layui-card-body">
<fieldset class="layui-elem-field layui-field-title">
<legend>常用两级表头</legend>
</fieldset>
<table class="layui-table" lay-data="{width:800, page: true, limit: 6, limits:[6]}" lay-filter="test-table-thead1">
<thead>
<tr>
<th lay-data="{checkbox:true, fixed:'left'}" rowspan="2"></th>
<th lay-data="{field:'username', width:150}" rowspan="2">联系人</th>
<th lay-data="{align:'center'}" colspan="3">地址</th>
<th lay-data="{field:'amount', width:120}" rowspan="2">金额</th>
<th lay-data="{fixed: 'right', width: 160, align: 'center', toolbar: '#test-table-thead-barDemo'}" rowspan="2">操作</th>
</tr>
<tr>
<th lay-data="{field:'province', width:120}"></th>
<th lay-data="{field:'city', width:120}"></th>
<th lay-data="{field:'zone', width:200}"></th>
</tr>
</thead>
</table>
<br>
<fieldset class="layui-elem-field layui-field-title">
<legend>更多级表头(可以无限极)</legend>
</fieldset>
<table class="layui-table" lay-data="{cellMinWidth: 80, page: true}" lay-filter="test-table-thead1">
<thead>
<tr>
<th lay-data="{field:'username', width:80}" rowspan="3">联系人</th>
<th lay-data="{field:'amount', width:120}" rowspan="3">金额</th>
<th lay-data="{align:'center'}" colspan="5">地址1</th>
<th lay-data="{align:'center'}" colspan="2">地址2</th>
<th lay-data="{fixed: 'right', width: 160, align: 'center', toolbar: '#test-table-thead-barDemo'}" rowspan="3">操作</th>
</tr>
<tr>
<th lay-data="{field:'province'}" rowspan="2"></th>
<th lay-data="{field:'city'}" rowspan="2"></th>
<th lay-data="{align:'center'}" colspan="3">详细</th>
<th lay-data="{field:'province'}" rowspan="2"></th>
<th lay-data="{field:'city'}" rowspan="2"></th>
</tr>
<tr>
<th lay-data="{field:'street'}" rowspan="2">街道</th>
<th lay-data="{field:'address'}">小区</th>
<th lay-data="{field:'house'}">单元</th>
</tr>
</thead>
</table>
<script type="text/html" id="test-table-thead-barDemo">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">按钮1</a>
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">按钮2</a>
</script>
<br>
<blockquote class="layui-elem-quote">注:上述例子读取的均是静态模拟数据</blockquote>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table'], function(){
var table = layui.table;
table.init('test-table-thead1', {
url: './res/json/table/demo2.js'
});
table.init('test-table-thead2', {
url: './res/json/table/demo2.js'
});
});
</script>

View File

@@ -0,0 +1,75 @@
<title>转化静态表格 - 数据表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>数据表格</cite></a>
<a><cite>转化静态表格</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">转化静态表格</div>
<div class="layui-card-body">
<div class="layui-btn-group test-table-btn" style="margin-bottom: 10px;">
<button class="layui-btn" data-type="parseTable">立即转化为数据表格</button>
</div>
<table lay-filter="parse-table-demo">
<thead>
<tr>
<th lay-data="{field:'username', width:200}">昵称</th>
<th lay-data="{field:'joinTime', width:150}">加入时间</th>
<th lay-data="{field:'sign', minWidth: 180}">签名</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三1</td>
<td>2016-11-28</td>
<td>人生就像是一场修行 A</td>
</tr>
<tr>
<td>张三2</td>
<td>2016-11-29</td>
<td>人生就像是一场修行 B</td>
</tr>
<tr>
<td>张三3</td>
<td>2016-11-30</td>
<td>人生就像是一场修行 C</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table'], function(){
var table = layui.table;
var $ = layui.$, active = {
parseTable: function(){
table.init('parse-table-demo', { //转化静态表格
//height: 'full-500'
});
}
};
$('.test-table-btn .layui-btn').on('click', function(){
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
});
</script>

View File

@@ -0,0 +1,188 @@
<title>选项卡组件</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>选项卡</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
</style>
<div class="layui-fluid" id="component-tabs">
<div class="layui-row">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">默认风格</div>
<div class="layui-card-body">
<div class="layui-tab">
<ul class="layui-tab-title">
<li class="layui-this">网站设置</li>
<li>用户管理</li>
<li>权限分配</li>
<li>商品管理</li>
<li>订单管理</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
1. 高度默认自适应,也可以随意固宽。
<br>2. Tab进行了响应式处理所以无需担心数量多少。
</div>
<div class="layui-tab-item">内容2</div>
<div class="layui-tab-item">内容3</div>
<div class="layui-tab-item">内容4</div>
<div class="layui-tab-item">内容5</div>
</div>
</div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">简洁风格</div>
<div class="layui-card-body">
<div class="layui-tab layui-tab-brief" lay-filter="component-tabs-brief">
<ul class="layui-tab-title">
<li class="layui-this">网站设置</li>
<li>用户管理</li>
<li>权限分配</li>
<li>商品管理</li>
<li>订单管理</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
你也可以 tab 事件
</div>
<div class="layui-tab-item">内容2</div>
<div class="layui-tab-item">内容3</div>
<div class="layui-tab-item">内容4</div>
<div class="layui-tab-item">内容5</div>
</div>
</div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">卡片风格</div>
<div class="layui-card-body">
<div class="layui-tab layui-tab-card">
<ul class="layui-tab-title">
<li class="layui-this">网站设置</li>
<li>用户管理</li>
<li>权限分配</li>
<li>商品管理</li>
<li>订单管理</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">默认宽度是相对于父元素100%适应的,你也可以固定宽度。</div>
<div class="layui-tab-item">2</div>
<div class="layui-tab-item">3</div>
<div class="layui-tab-item">4</div>
<div class="layui-tab-item">5</div>
<div class="layui-tab-item">6</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">动态操作</div>
<div class="layui-card-body">
<div class="layui-tab" lay-filter="demo" lay-allowclose="true">
<ul class="layui-tab-title">
<li class="layui-this" lay-id="11">网站设置</li>
<li lay-id="22">用户管理</li>
<li lay-id="33">权限分配</li>
<li lay-id="44">商品管理</li>
<li lay-id="55">订单管理</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">内容1</div>
<div class="layui-tab-item">内容2</div>
<div class="layui-tab-item">内容3</div>
</div>
</div>
<div class="layui-btn-container">
<button class="layui-btn site-demo-active" data-type="tabAdd">新增一个项</button>
<button class="layui-btn site-demo-active" data-type="tabDelete">删除:用户管理</button>
<button class="layui-btn site-demo-active" data-type="tabChange">切换到:权限分配</button>
</div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">记录状态</div>
<div class="layui-card-body">
<div class="layui-tab layui-tab-brief" lay-filter="component-tabs-hash">
<ul class="layui-tab-title">
<li class="layui-this" lay-id="11">网站设置</li>
<li lay-id="22">用户管理</li>
<li lay-id="33">权限分配</li>
<li lay-id="44">商品管理</li>
<li lay-id="55">订单管理</li>
</ul>
<div class="layui-tab-content" style="height: 165px;">
<div class="layui-tab-item layui-show">
点击该Tab的任一标题观察地址栏变化再刷新页面。选项卡将会自动定位到上一次切换的项
</div>
<div class="layui-tab-item">内容2</div>
<div class="layui-tab-item">内容3</div>
<div class="layui-tab-item">内容4</div>
<div class="layui-tab-item">内容5</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$
,admin = layui.admin
,element = layui.element
,router = layui.router();
element.render();
element.on('tab(component-tabs-brief)', function(obj){
layer.msg(obj.index + '' + this.innerHTML);
});
/* 触发事件 */
var active = {
tabAdd: function(){
/* 新增一个Tab项 */
element.tabAdd('demo', {
title: '新选项'+ (Math.random()*1000|0) /* 用于演示 */
,content: '内容'+ (Math.random()*1000|0)
,id: new Date().getTime() /* 实际使用一般是规定好的id这里以时间戳模拟下 */
})
}
,tabDelete: function(othis){
/* 删除指定Tab项 */
element.tabDelete('demo', '22');
othis.addClass('layui-btn-disabled');
}
,tabChange: function(){
/* 切换到指定Tab项 */
element.tabChange('demo', '33');
}
};
$('#component-tabs .site-demo-active').on('click', function(){
var othis = $(this), type = othis.data('type');
active[type] ? active[type].call(this, othis) : '';
});
/* Hash地址的定位 */
var layid = router.hash.replace(/^#layid=/, '');
layid && element.tabChange('component-tabs-hash', layid);
element.on('tab(component-tabs-hash)', function(elem){
location.hash = '/'+ layui.router().path.join('/') + '#layid=' + $(this).attr('lay-id');
});
});
</script>

View File

@@ -0,0 +1,121 @@
<title>时间线</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>时间线</cite></a>
</div>
</div>
<style>
/* 这段样式只是用于演示 */
#LAY-component-timeline .layui-card-body{padding: 15px;}
</style>
<div class="layui-fluid" id="LAY-component-timeline">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">常规时间线</div>
<div class="layui-card-body">
<ul class="layui-timeline">
<li class="layui-timeline-item">
<i class="layui-icon layui-timeline-axis"></i>
<div class="layui-timeline-content layui-text">
<h3 class="layui-timeline-title">12月28日</h3>
<p>
一直以来layui 秉承无偿开源的初心,虔诚致力于服务各层次前后端 Web 开发者,在商业横飞的当今时代,这一信念从未动摇。即便身单力薄,仍然重拾决心,埋头造轮,以尽可能地填补产品本身的缺口。在过去的一段的时间,我一直在寻求持久之道,已维持你眼前所见的一切。而 layuiAdmin 是我们尝试解决的手段之一。我相信真正有爱于 layui 生态的你,定然不会错过这一拥抱吧。
</p>
<p><br>子曰:君子不用防,小人防不住。请务必通过官网正规渠道,获得 <a href="http://www.baidu.com#/admin/" target="_blank">layuiAdmin</a></p>
</div>
</li>
<li class="layui-timeline-item">
<i class="layui-icon layui-timeline-axis"></i>
<div class="layui-timeline-content layui-text">
<h3 class="layui-timeline-title">12月25日</h3>
<p>又是一年 <em>“圣诞节”</em>2018 向我们正在走来</p>
<ul>
<li>叮叮当,叮叮当,铃儿响叮当</li>
<li>今晚滑雪多快乐,我们坐在雪橇上</li>
</ul>
</div>
</li>
<li class="layui-timeline-item">
<i class="layui-icon layui-timeline-axis"></i>
<div class="layui-timeline-content layui-text">
<h3 class="layui-timeline-title">12月24日</h3>
<p>
美丽的夜晚,都是祈祷的人们。<br>他们等待着第二天,收到圣诞老人的礼物。<br><br>
</p>
<blockquote class="layui-elem-quote">平安夜,天赐平安。愿真善美的事物都能永恒。</blockquote>
</div>
</li>
<li class="layui-timeline-item">
<i class="layui-icon layui-timeline-axis"></i>
<div class="layui-timeline-content layui-text">
<div class="layui-timeline-title">过去</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">简约时间线</div>
<div class="layui-card-body">
<ul class="layui-timeline">
<li class="layui-timeline-item">
<i class="layui-icon layui-timeline-axis"></i>
<div class="layui-timeline-content layui-text">
<div class="layui-timeline-title">
2018年layui 5.0 发布,并发展成为中国最受欢迎的前端 UI 框架(期望)
</div>
</div>
</li>
<li class="layui-timeline-item">
<i class="layui-icon layui-timeline-axis"></i>
<div class="layui-timeline-content layui-text">
<div class="layui-timeline-title">2017年layui 里程碑版本 2.0 发布</div>
</div>
</li>
<li class="layui-timeline-item">
<i class="layui-icon layui-timeline-axis"></i>
<div class="layui-timeline-content layui-text">
<div class="layui-timeline-title">2016年layui 首个版本发布</div>
</div>
</li>
<li class="layui-timeline-item">
<i class="layui-icon layui-timeline-axis"></i>
<div class="layui-timeline-content layui-text">
<div class="layui-timeline-title">2015年layui 孵化</div>
</div>
</li>
<li class="layui-timeline-item">
<i class="layui-icon layui-anim layui-anim-rotate layui-anim-loop layui-timeline-axis"></i>
<div class="layui-timeline-content layui-text">
<div class="layui-timeline-title">更久前轮子时代。维护几个独立组件layer等</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin'], function(){
var $ = layui.$
,admin = layui.admin
,element = layui.element
,router = layui.router();
});
</script>

View File

@@ -0,0 +1,185 @@
<title>穿梭框组件</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>穿梭框组件</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">基础效果</div>
<div class="layui-card-body">
<div id="test-transfer-demo1"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">定义标题及数据源</div>
<div class="layui-card-body">
<div id="test-transfer-demo2"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">初始右侧数据集合</div>
<div class="layui-card-body">
<div id="test-transfer-demo3"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">显示搜索框</div>
<div class="layui-card-body">
<div id="test-transfer-demo4"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">数据格式解析</div>
<div class="layui-card-body">
<div id="test-transfer-demo5"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">穿梭时的回调</div>
<div class="layui-card-body">
<div id="test-transfer-demo6"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">实例调用</div>
<div class="layui-card-body">
<div class="layui-btn-container">
<button type="button" class="layui-btn" lay-demotransferactive="getData">获取右侧数据</button>
<button type="button" class="layui-btn" lay-demotransferactive="reload">重载实例</button>
</div>
<div id="test-transfer-demo7"></div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'transfer', 'layer', 'util'], function(){
var $ = layui.$
,transfer = layui.transfer
,layer = layui.layer
,util = layui.util;
//模拟数据
var data1 = [
{"value": "1", "title": "李白"}
,{"value": "2", "title": "杜甫"}
,{"value": "3", "title": "苏轼"}
,{"value": "4", "title": "李清照"}
,{"value": "5", "title": "鲁迅", "disabled": true}
,{"value": "6", "title": "巴金"}
,{"value": "7", "title": "冰心"}
,{"value": "8", "title": "矛盾"}
,{"value": "9", "title": "张三"}
]
,data2 = [
{"value": "1", "title": "瓦罐汤"}
,{"value": "2", "title": "油酥饼"}
,{"value": "3", "title": "炸酱面"}
,{"value": "4", "title": "串串香", "disabled": true}
,{"value": "5", "title": "豆腐脑"}
,{"value": "6", "title": "驴打滚"}
,{"value": "7", "title": "北京烤鸭"}
,{"value": "8", "title": "烤冷面"}
,{"value": "9", "title": "毛血旺", "disabled": true}
,{"value": "10", "title": "肉夹馍"}
,{"value": "11", "title": "臊子面"}
,{"value": "12", "title": "凉皮"}
,{"value": "13", "title": "羊肉泡馍"}
,{"value": "14", "title": "冰糖葫芦", "disabled": true}
,{"value": "15", "title": "狼牙土豆"}
]
//基础效果
transfer.render({
elem: '#test-transfer-demo1'
,data: data1
})
//定义标题及数据源
transfer.render({
elem: '#test-transfer-demo2'
,title: ['候选文人', '获奖文人'] //自定义标题
,data: data1
//,width: 150 //定义宽度
,height: 210 //定义高度
})
//初始右侧数据
transfer.render({
elem: '#test-transfer-demo3'
,data: data2
,value: ["1", "3", "5", "7", "9", "11"]
})
//显示搜索框
transfer.render({
elem: '#test-transfer-demo4'
,data: data1
,title: ['文本墨客', '获奖文人']
,showSearch: true
})
//数据格式解析
transfer.render({
elem: '#test-transfer-demo5'
,parseData: function(res){
return {
"value": res.id //数据值
,"title": res.name //数据标题
,"disabled": res.disabled //是否禁用
,"checked": res.checked //是否选中
}
}
,data: [
{"id": "1", "name": "李白"}
,{"id": "2", "name": "杜甫"}
,{"id": "3", "name": "张三"}
]
,height: 150
})
//穿梭时的回调
transfer.render({
elem: '#test-transfer-demo6'
,data: data1
,onchange: function(obj, index){
var arr = ['左边', '右边'];
layer.alert('来自 <strong>'+ arr[index] + '</strong> 的数据:'+ JSON.stringify(obj)); //获得被穿梭时的数据
}
})
//实例调用
transfer.render({
elem: '#test-transfer-demo7'
,data: data1
,id: 'key123' //定义唯一索引
})
//批量办法定事件
util.event('lay-demoTransferActive', {
getData: function(othis){
var getData = transfer.getData('key123'); //获取右侧数据
layer.alert(layui.util.escape(JSON.stringify(getData)));
}
,reload:function(){
//实例重载
transfer.reload('key123', {
title: ['文人', '喜欢的文人']
,value: ['2', '5', '9']
,showSearch: true
})
}
});
});
</script>

View File

@@ -0,0 +1,432 @@
<title>树形组件</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>树形组件</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">基本演示</div>
<div class="layui-card-body">
<div class="layui-btn-container">
<button type="button" class="layui-btn layui-btn-sm" lay-demo="getChecked">获取选中节点数据</button>
<button type="button" class="layui-btn layui-btn-sm" lay-demo="setChecked">勾选指定节点</button>
<button type="button" class="layui-btn layui-btn-sm" lay-demo="reload">重载实例</button>
</div>
<div id="test-tree-demo1"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">常规用法</div>
<div class="layui-card-body">
<div id="test-tree-demo2"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">无连接线风格</div>
<div class="layui-card-body">
<div id="test-tree-demo3"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">仅节点左侧图标控制收缩</div>
<div class="layui-card-body">
<div id="test-tree-demo4"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">手风琴模式</div>
<div class="layui-card-body">
<div id="test-tree-demo5"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">点击节点新窗口跳转</div>
<div class="layui-card-body">
<div id="test-tree-demo6"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">开启复选框</div>
<div class="layui-card-body">
<div id="test-tree-demo7"></div>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">开启节点操作图标</div>
<div class="layui-card-body">
<div id="test-tree-demo8"></div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'tree', 'util'], function(){
var tree = layui.tree
,layer = layui.layer
,util = layui.util
//模拟数据
,data = [{
title: '一级1'
,id: 1
,field: 'name1'
,checked: true
,spread: true
,children: [{
title: '二级1-1 可允许跳转'
,id: 3
,field: 'name11'
,href: 'https://www.baidu.com#/'
,children: [{
title: '三级1-1-3'
,id: 23
,field: ''
,children: [{
title: '四级1-1-3-1'
,id: 24
,field: ''
,children: [{
title: '五级1-1-3-1-1'
,id: 30
,field: ''
},{
title: '五级1-1-3-1-2'
,id: 31
,field: ''
}]
}]
},{
title: '三级1-1-1'
,id: 7
,field: ''
,children: [{
title: '四级1-1-1-1 可允许跳转'
,id: 15
,field: ''
,href: 'https://www.baidu.com#/doc/'
}]
},{
title: '三级1-1-2'
,id: 8
,field: ''
,children: [{
title: '四级1-1-2-1'
,id: 32
,field: ''
}]
}]
},{
title: '二级1-2'
,id: 4
,spread: true
,children: [{
title: '三级1-2-1'
,id: 9
,field: ''
,disabled: true
},{
title: '三级1-2-2'
,id: 10
,field: ''
}]
},{
title: '二级1-3'
,id: 20
,field: ''
,children: [{
title: '三级1-3-1'
,id: 21
,field: ''
},{
title: '三级1-3-2'
,id: 22
,field: ''
}]
}]
},{
title: '一级2'
,id: 2
,field: ''
,spread: true
,children: [{
title: '二级2-1'
,id: 5
,field: ''
,spread: true
,children: [{
title: '三级2-1-1'
,id: 11
,field: ''
},{
title: '三级2-1-2'
,id: 12
,field: ''
}]
},{
title: '二级2-2'
,id: 6
,field: ''
,children: [{
title: '三级2-2-1'
,id: 13
,field: ''
},{
title: '三级2-2-2'
,id: 14
,field: ''
,disabled: true
}]
}]
},{
title: '一级3'
,id: 16
,field: ''
,children: [{
title: '二级3-1'
,id: 17
,field: ''
,fixed: true
,children: [{
title: '三级3-1-1'
,id: 18
,field: ''
},{
title: '三级3-1-2'
,id: 19
,field: ''
}]
},{
title: '二级3-2'
,id: 27
,field: ''
,children: [{
title: '三级3-2-1'
,id: 28
,field: ''
},{
title: '三级3-2-2'
,id: 29
,field: ''
}]
}]
}]
//模拟数据1
,data1 = [{
title: '江西'
,id: 1
,children: [{
title: '南昌'
,id: 1000
,children: [{
title: '青山湖区'
,id: 10001
},{
title: '高新区'
,id: 10002
}]
},{
title: '九江'
,id: 1001
},{
title: '赣州'
,id: 1002
}]
},{
title: '广西'
,id: 2
,children: [{
title: '南宁'
,id: 2000
},{
title: '桂林'
,id: 2001
}]
},{
title: '陕西'
,id: 3
,children: [{
title: '西安'
,id: 3000
},{
title: '延安'
,id: 3001
}]
}]
//模拟数据2
,data2 = [{
title: '早餐'
,id: 1
,children: [{
title: '油条'
,id: 5
},{
title: '包子'
,id: 6
},{
title: '豆浆'
,id: 7
}]
},{
title: '午餐'
,id: 2
,checked: true
,children: [{
title: '藜蒿炒腊肉'
,id: 8
},{
title: '西湖醋鱼'
,id: 9
},{
title: '小白菜'
,id: 10
},{
title: '海带排骨汤'
,id: 11
}]
},{
title: '晚餐'
,id: 3
,children: [{
title: '红烧肉'
,id: 12
,fixed: true
},{
title: '番茄炒蛋'
,id: 13
}]
},{
title: '夜宵'
,id: 4
,children: [{
title: '小龙虾'
,id: 14
,checked: true
},{
title: '香辣蟹'
,id: 15
,disabled: true
},{
title: '烤鱿鱼'
,id: 16
}]
}];
//基本演示
tree.render({
elem: '#test-tree-demo1'
,data: data
,showCheckbox: true //是否显示复选框
,id: 'test-tree-demoId1'
,isJump: true //是否允许点击节点时弹出新窗口跳转
,click: function(obj){
var data = obj.data; //获取当前点击的节点数据
layer.msg('状态:'+ obj.state + '<br>节点数据:' + JSON.stringify(data));
}
});
//按钮事件
util.event('lay-demo', {
getChecked: function(othis){
var checkedData = tree.getChecked('test-tree-demoId1'); //获取选中节点的数据
layer.alert(layui.util.escape(JSON.stringify(checkedData)), {shade:0});
console.log(checkedData);
}
,setChecked: function(){
tree.setChecked('test-tree-demoId1', [12, 16]); //勾选指定节点
}
,reload: function(){
//重载实例
tree.reload('test-tree-demoId1', {
});
}
});
//常规用法
tree.render({
elem: '#test-tree-demo2' //默认是点击节点可进行收缩
,data: data1
});
//无连接线风格
tree.render({
elem: '#test-tree-demo3'
,data: data1
,showLine: false //是否开启连接线
});
//仅节点左侧图标控制收缩
tree.render({
elem: '#test-tree-demo4'
,data: data1
,onlyIconControl: true //是否仅允许节点左侧图标控制展开收缩
,click: function(obj){
layer.alert(layui.util.escape(JSON.stringify(obj.data)));
}
});
//手风琴模式
tree.render({
elem: '#test-tree-demo5'
,data: [{
title: '优秀'
,children: [{
title: '80 ~ 90'
},{
title: '90 ~ 100'
}]
},{
title: '良好'
,children: [{
title: '70 ~ 80'
},{
title: '60 ~ 70'
}]
},{
title: '要努力奥'
,children: [{
title: '0 ~ 60'
}]
}]
,accordion: true
});
//点击节点新窗口跳转
tree.render({
elem: '#test-tree-demo6'
,data: data
,isJump: true //link 为参数匹配
});
//开启复选框
tree.render({
elem: '#test-tree-demo7'
,data: data2
,showCheckbox: true
});
//开启节点操作图标
tree.render({
elem: '#test-tree-demo8'
,data: data1
,edit: ['add', 'update', 'del'] //操作节点的图标
,click: function(obj){
layer.alert(layui.util.escape(JSON.stringify(obj.data)));
}
});
});
</script>

View File

@@ -0,0 +1,138 @@
<title>树形表格</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>树形表格</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">树形表格</div>
<div class="layui-card-body">
<table class="layui-hide" id="test-treeTable"></table>
<script type="text/html" id="TPL-treeTable-demo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="getChecked">获取选中数据</button>
</div>
</script>
<script type="text/html" id="TPL-treeTable-demo-tools">
<div class="layui-btn-container">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
<a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="addChild">新增</a>
<a class="layui-btn layui-btn-xs" lay-event="more">更多 <i class="layui-icon layui-icon-down"></i></a>
</div>
</script>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'table'], function(){
var table = layui.table;
var treeTable = layui.treeTable;
var layer = layui.layer;
var dropdown = layui.dropdown;
// 渲染
var inst = treeTable.render({
elem: '#test-treeTable',
url: './res/json/treeTable/demo-1.json', // 此处为静态模拟数据,实际使用时需换成真实接口
tree: {
/*
// 异步加载子节点
async: {
enable: true,
url: '/static/2.8/json/treeTable/demo-async.json', // 此处为静态模拟数据,实际使用时需换成真实接口
autoParam: ["parentId=id"]
}
*/
},
height: 'full-200',
toolbar: '#TPL-treeTable-demo',
cols: [[
{type: 'checkbox', fixed: 'left'},
{field: 'id', title: 'ID', width: 80, sort: true, fixed: 'left'},
{field: 'name', title: '用户名', width: 180, fixed: 'left'},
{field: 'experience', title: '积分', width: 90, sort: true},
{field: 'sex', title: '性别', width: 80, sort: true},
{field: 'score', title: '评分', width: 80, sort: true},
{field: 'city', title: '城市'},
{ fixed: "right", title: "操作", width: 181, align: "center", toolbar: "#TPL-treeTable-demo-tools"}
]],
page: true
});
// 表头工具栏工具事件
treeTable.on('toolbar('+ inst.config.id +')', function (obj) {
var config = obj.config;
var tableId = config.id;
var status = treeTable.checkStatus(tableId);
// 获取选中行
if (obj.event === "getChecked") {
if(!status.data.length) return layer.msg('无选中数据');
console.log(status);
layer.alert("当前数据选中已经输出到控制台,<br>您可按 F12 从控制台中查看结果。");
}
});
// 单元格工具事件
treeTable.on('tool('+ inst.config.id +')', function (obj) {
var layEvent = obj.event; // 获得 lay-event 对应的值
var trElem = obj.tr;
var trData = obj.data;
var tableId = obj.config.id;
if (layEvent === "detail") {
layer.msg("查看操作:" + trData.name);
} else if (layEvent === "addChild") {
var data = { id: Date.now(), name: "新节点" };
var newNode2 = treeTable.addNodes(tableId, {
parentIndex: trData["LAY_DATA_INDEX"],
index: -1,
data: data
});
} else if (layEvent === "more") {
// 下拉菜单
dropdown.render({
elem: this, // 触发事件的 DOM 对象
show: true, // 外部事件触发即显示
align: "right", // 右对齐弹出
data: [
{
title: "修改积分",
id: "edit"
},
{
title: "删除",
id: "del"
}
],
click: function (menudata) {
if (menudata.id === "del") {
layer.confirm("真的删除行么", function (index) {
obj.del(); // 等效如下
// treeTable.removeNode(tableId, trElem.attr('data-index'))
layer.close(index);
});
} else if (menudata.id === "edit") {
layer.prompt({
value: trData.experience,
title: "输入新的积分"
}, function (value, index) {
obj.update({ experience: value }); // 等效如下
// treeTable.updateNode(tableId, trElem.attr('data-index'), {experience: value});
layer.close(index);
});
}
}
});
}
});
});
</script>

View File

@@ -0,0 +1,199 @@
<title>功能演示一 - 上传组件</title>
<style>
.layui-upload-img{width: 92px; height: 92px; margin: 0 10px 10px 0;}
</style>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>上传组件</cite></a>
<a><cite>功能演示一</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">普通图片上传</div>
<div class="layui-card-body">
<div class="layui-upload">
<button type="button" class="layui-btn" id="test-upload-normal">上传图片</button>
<div class="layui-upload-list">
<img class="layui-upload-img" id="test-upload-normal-img">
<p id="test-upload-demoText"></p>
</div>
</div>
<blockquote class="layui-elem-quote">
为节省服务器开销,以下示例均未配置真实上传接口,所以每次上传都会报提示:请求上传接口出现异常,这属于正常现象。
</blockquote>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">上传多张图片</div>
<div class="layui-card-body">
<div class="layui-upload">
<button type="button" class="layui-btn" id="test-upload-more">多图片上传</button>
<blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
预览图:
<div class="layui-upload-list" id="test-upload-more-list"></div>
</blockquote>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">指定允许上传的文件类型</div>
<div class="layui-card-body">
<button type="button" class="layui-btn" id="test-upload-type1"><i class="layui-icon"></i>上传文件</button>
<button type="button" class="layui-btn layui-btn-primary" id="test-upload-type2"><i class="layui-icon"></i>只允许压缩文件</button>
<button type="button" class="layui-btn" id="test-upload-type3"><i class="layui-icon"></i>上传视频</button>
<button type="button" class="layui-btn" id="test-upload-type4"><i class="layui-icon"></i>上传音频</button>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">设定文件大小限制</div>
<div class="layui-card-body">
<button type="button" class="layui-btn layui-btn-danger" id="test-upload-size">
<i class="layui-icon"></i>上传图片
</button>
<div class="layui-inline layui-word-aux">
这里以限制 60KB 为例
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">同时绑定多个元素,并将属性设定在元素上</div>
<div class="layui-card-body">
<button class="layui-btn test-upload-demoMore" lay-data="{url: '/a/'}">上传A</button>
<button class="layui-btn test-upload-demoMore" lay-data="{url: '/b/', size:5}">上传B</button>
<button class="layui-btn test-upload-demoMore" lay-data="{url: '/c/', accept: 'file',size:10}">上传C</button>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'upload'], function(){
var $ = layui.jquery
,upload = layui.upload;
//普通图片上传
var uploadInst = upload.render({
elem: '#test-upload-normal'
,url: '/upload/'
,before: function(obj){
//预读本地文件示例不支持ie8
obj.preview(function(index, file, result){
$('#test-upload-normal-img').attr('src', result); //图片链接base64
});
}
,done: function(res){
//如果上传失败
if(res.code > 0){
return layer.msg('上传失败');
}
//上传成功
}
,error: function(){
//演示失败状态,并实现重传
var demoText = $('#test-upload-demoText');
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reload">重试</a>');
demoText.find('.demo-reload').on('click', function(){
uploadInst.upload();
});
}
});
//多图片上传
upload.render({
elem: '#test-upload-more'
,url: '/upload/'
,multiple: true
,before: function(obj){
//预读本地文件示例不支持ie8
obj.preview(function(index, file, result){
$('#test-upload-more-list').append('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img">')
});
}
,done: function(res){
//上传完毕
}
});
//指定允许上传的文件类型
upload.render({
elem: '#test-upload-type1'
,url: '/upload/'
,accept: 'file' //普通文件
,done: function(res){
console.log(res)
}
});
upload.render({ //允许上传的文件后缀
elem: '#test-upload-type2'
,url: '/upload/'
,accept: 'file' //普通文件
,exts: 'zip|rar|7z' //只允许上传压缩文件
,done: function(res){
console.log(res)
}
});
upload.render({
elem: '#test-upload-type3'
,url: '/upload/'
,accept: 'video' //视频
,done: function(res){
console.log(res)
}
});
upload.render({
elem: '#test-upload-type4'
,url: '/upload/'
,accept: 'audio' //音频
,done: function(res){
console.log(res)
}
});
//设定文件大小限制
upload.render({
elem: '#test-upload-size'
,url: '/upload/'
,size: 60 //限制文件大小,单位 KB
,done: function(res){
console.log(res)
}
});
//同时绑定多个元素,并将属性设定在元素上
upload.render({
elem: '.test-upload-demoMore'
,before: function(){
layer.tips('接口地址:'+ this.url, this.item, {tips: 1});
}
,done: function(res, index, upload){
var item = this.item;
console.log(item); //获取当前触发上传的元素layui 2.1.0 新增
}
})
});
</script>

View File

@@ -0,0 +1,187 @@
<title>功能演示二 - 上传组件</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>上传组件</cite></a>
<a><cite>功能演示二</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">高级应用:制作一个多文件列表</div>
<div class="layui-card-body">
<div class="layui-upload">
<button type="button" class="layui-btn layui-btn-normal" id="test-upload-testList">选择多文件</button>
<div class="layui-upload-list">
<table class="layui-table">
<colgroup>
<col>
<col width="150">
<col width="260">
<col width="150">
</colgroup>
<thead>
<tr>
<th>文件名</th>
<th>大小</th>
<th>上传进度</th>
<th>操作</th>
</tr>
</thead>
<tbody id="test-upload-demoList"></tbody>
</table>
</div>
<button type="button" class="layui-btn" id="test-upload-testListAction">开始上传</button>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">选完文件后不自动上传</div>
<div class="layui-card-body">
<div class="layui-upload">
<button type="button" class="layui-btn layui-btn-normal" id="test-upload-change">选择文件</button>
<button type="button" class="layui-btn" id="test-upload-change-action">开始上传</button>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">拖拽上传</div>
<div class="layui-card-body">
<div class="layui-upload-drag" id="test-upload-drag">
<i class="layui-icon"></i>
<p>点击上传,或将文件拖拽到此处</p>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">绑定原始文件域</div>
<div class="layui-card-body">
<input type="file" name="file" id="test-upload-primary">
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'upload', 'element'], function(){
var $ = layui.jquery
,upload = layui.upload
,element = layui.element;
//多文件列表示例
var uploadListIns = upload.render({
elem: '#test-upload-testList'
,elemList: $('#test-upload-demoList') //列表元素对象
,url: 'https://httpbin.org/post'
,accept: 'file'
,multiple: true
,number: 3
,auto: false
,bindAction: '#test-upload-testListAction'
,choose: function(obj){
var that = this;
var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
//读取本地文件
obj.preview(function(index, file, result){
var tr = $(['<tr id="upload-'+ index +'">'
,'<td>'+ file.name +'</td>'
,'<td>'+ (file.size/1014).toFixed(1) +'kb</td>'
,'<td><div class="layui-progress" lay-filter="progress-demo-'+ index +'"><div class="layui-progress-bar" lay-percent=""></div></div></td>'
,'<td>'
,'<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>'
,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>'
,'</td>'
,'</tr>'].join(''));
//单个重传
tr.find('.demo-reload').on('click', function(){
obj.upload(index, file);
});
//删除
tr.find('.demo-delete').on('click', function(){
delete files[index]; //删除对应的文件
tr.remove();
uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
});
that.elemList.append(tr);
element.render('progress'); //渲染新加的进度条组件
});
}
,done: function(res, index, upload){ //成功的回调
var that = this;
//if(res.code == 0){ //上传成功
var tr = that.elemList.find('tr#upload-'+ index)
,tds = tr.children();
tds.eq(3).html(''); //清空操作
delete this.files[index]; //删除文件队列已经上传成功的文件
return;
//}
this.error(index, upload);
}
,allDone: function(obj){ //多文件上传完毕后的状态回调
console.log(obj)
}
,error: function(index, upload){ //错误回调
var that = this;
var tr = that.elemList.find('tr#upload-'+ index)
,tds = tr.children();
tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
}
,progress: function(n, elem, e, index){
element.progress('progress-demo-'+ index, n + '%'); //执行进度条。n 即为返回的进度百分比
}
});
//选完文件后不自动上传
upload.render({
elem: '#test-upload-change'
,url: '/upload/'
,auto: false
//,multiple: true
,bindAction: '#test-upload-change-action'
,done: function(res){
console.log(res)
}
});
//拖拽上传
upload.render({
elem: '#test-upload-drag'
,url: '/upload/'
,done: function(res){
console.log(res)
}
});
//绑定原始文件域
upload.render({
elem: '#test-upload-primary'
,url: '/upload/'
,done: function(res){
console.log(res)
}
});
});
</script>

View File

@@ -0,0 +1,157 @@
<title>工具模块 - 组件</title>
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<a lay-href="">主页</a>
<a><cite>组件</cite></a>
<a><cite>工具模块</cite></a>
</div>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">倒计时</div>
<div class="layui-card-body">
请选择要计算的日期:
<div class="layui-inline">
<input type="text" class="layui-input" id="test-util-countdown" value="2099-01-01 00:00:00">
</div>
<blockquote class="layui-elem-quote" style="margin-top: 10px;">
<div id="test-util-countdown-ret"></div>
</blockquote>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">某个时间在当前时间的多久前</div>
<div class="layui-card-body">
请选择要计算的日期:
<div class="layui-inline">
<input type="text" class="layui-input" id="test-util-timeago">
</div>
<span class="layui-word-aux" id="test-util-timeago-ret"></span>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">转换日期格式</div>
<div class="layui-card-body">
请编辑格式:
<div class="layui-inline">
<input type="text" value="yyyy-MM-dd HH:mm:ss" class="layui-input" id="test-util-toDateString">
</div>
<span class="layui-word-aux" id="test-util-toDateString-ret"></span>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">转义 HTML</div>
<div class="layui-card-body">
<div class="layui-form">
<textarea class="layui-textarea" id="test-util-escape">
<h3>HTML Title</h3>
<script>
alert(0);
</script>
</textarea>
</div>
<div class="layui-btn-container" style="margin-top: 10px;">
<button class="layui-btn" lay-on="escape">转义</button>
<button class="layui-btn" lay-on="unescape">还原</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['admin', 'util', 'laydate', 'layer'], function(){
var util = layui.util;
var laydate = layui.laydate;
var layer = layui.layer;
var $ = layui.$;
// 倒计时
var countdown = util.countdown({
date: '2099-12-31 00:00:00', // 目标时间值
now: new Date(), // 当前时间,一般为服务器时间,此处以本地时间为例
ready: function(){ // 初始操作
clearTimeout(util.countdown.timer); // 清除旧定时器,防止多次渲染时重复执行。实际使用时不常用
},
clock: function(obj, inst){ // 计时中
var str = [obj.d,'天',obj.h,'时',obj.m,'分',obj.s,'秒'].join(' ');
lay('#test-util-countdown-ret').html(str);
util.countdown.timer = inst.timer; // 记录当前定时器,以便在重复渲染时清除。实际使用时不常用
},
done: function(obj, inst){ // 计时完成
layer.msg('Time is up');
}
});
// 重置倒计时
laydate.render({
elem: '#test-util-countdown',
type: 'datetime',
done: function(value){
countdown.reload({
date: value
});
}
});
// 某个时间在当前时间的多久前
var setTimeAgo = function(y, M, d, H, m, s){
var str = util.timeAgo(new Date(y, M||0, d||1, H||0, m||0, s||0));
lay('#test-util-timeago-ret').html(str);
};
laydate.render({
elem: '#test-util-timeago',
type: 'datetime',
done: function(value, date){
setTimeAgo(date.year, date.month - 1, date.date, date.hours, date.minutes, date.seconds);
}
});
// 转换日期格式
var toDateString = function(format){
var dateString = util.toDateString(new Date(), format); // 执行转换日期格式的方法
$('#test-util-toDateString-ret').html(dateString);
};
toDateString($('#test-util-toDateString').val());
// 输入框事件
$('#test-util-toDateString').on('input propertychange', function(){
console.log(this.value)
toDateString(this.value);
});
// HTML 转义
util.event('lay-on', {
escape: function(){ // 转义
var textarea = $('#test-util-escape');
var value = textarea.val();
var str = util.escape(value); // 执行转义方法
textarea.val(str);
},
unescape: function(){
var textarea = $('#test-util-escape');
var value = textarea.val();
var str = util.unescape(value); // 执行转义方法
textarea.val(str);
}
});
});
</script>