491 lines
16 KiB
HTML
Raw Normal View History

2023-05-24 21:35:21 +08:00
<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://layer.layui.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 demo-component-layer">
<div class="layui-card-header">弹层之美</div>
<div class="layui-card-body">
<blockquote class="layui-elem-quote">
layer 是 layui 中最广为人知的组件,它可以轻松应对 Web 应用开发中的各类复杂的弹出交互。有人说使用 layer 是一种情怀,一旦用上了,就离不开了。有多少人是因为 layer 才选择 layui 的呢,有一种信仰,叫:无条件相信
</blockquote>
</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="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: 'http://fly.layui.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('./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: 'http://sentsin.com/'
});
}
,test20: function(){
layer.open({
type: 2,
title: '百度一下',
shade: false,
maxmin: true,
area: ['90%', '90%'],
content: 'http://www.baidu.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: ['嗷','嗷','嗷']
});
}
});
}
,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.base + 'views/iframe/layer/iframe.html'
});
}
,test36: function(){
layer.open({
type: 2,
area: ['360px', '500px'],
skin: 'layui-layer-rim',
content: ['http://sentsin.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>