//layui.layer的基本使用
/** //相关属性 title : false, //标题 area : [\'700px\', \'450px\'], //弹框大小 area : \'516px\', //宽 icon : 1 //图标,默认皮肤可以传入0-6如果是加载层,可以传入0-2 ,shade : 0.01 //透明度 ,shadeClose: true, //点击遮罩关闭 ,offset : \'t\' //位置\'auto\'-默认居中 \'100px\'-只定义top坐标 [\'100px\', \'50px\']-同时定义top、left \'t\'-顶部 \'r\'-右边 \'b\'-底部 \'l\'-左边 \'lt\'-左上角 ,zIndex : 19891014 //默认:19891014(贤心生日 0.0) ,btnAlign: \'c\' //\'l\':按钮左对齐 \'c\':按钮居中对齐 \'r\':按钮右对齐。默认值,不用设置 fixed : false, //不固定 maxmin : true, //最大化最小化按钮 maxWidth:100 //最大宽度 最大高度,maxHeight 只有当area: \'auto\'时才有效 closeBtn: 0, //可通过配置1和2来展示两种风格,0:不显示 scrollbar: false, //屏蔽浏览器滚动条 resize : true, //是否允许拉伸 skin : \'layui-layer-rim\', //加上边框\'layui-layer-nobg\', //没有背景色 anim : 6, //anim: 0 平滑放大。默认,anim: 1 从上掉落,anim: 2 从最底部往上滑入,anim: 3 从左滑入,anim: 4 从左翻滚,anim: 5 渐显,anim: 6 抖动 end : function(){} // 层销毁后触发的回调,无论是确认还是取消,只要层被销毁了,end都会执行,不携带任何参数。 resizing: function(layero){} //监听窗口拉伸动作 layer.full(index); //full()、min()、layer.restore()最大化、最小化、还原 后 layer.setTop(layero) //置顶当前窗口 layer.tab({ //tab层 area: [\'600px\', \'300px\'], tab: [{ title: \'TAB1\', content: \'内容1\' }, { title: \'TAB2\', content: \'内容2\' }, { title: \'TAB3\', content: \'内容3\' }] }); layer.photos({ //相册层 photos: \'#layer-photos-demo\' ,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数) }); */
/******alert测试********/ var icon_type = 0; $("#alert_0").click(function(){ layer.alert("icon: "+ icon_type +\'看过太多的人生指南,都快找不着"北"\'
, { icon : icon_type ,yes : function(index){ icon_type++; if(icon_type>= 7) icon_type = 0; $("#alert_0").click(); }
,cancel : function(index){ //右上角关闭回调 alert("cancel:"+index); } }); });

/******msg测试********/ $("#msg_0").click(function(){ layer.msg(\'消息框测试\', { time: 0 //0:不自动关闭 ,btn: [\'确定\', \'取消\'] ,yes: function(index){ layer.close(index); layer.msg(\'任何一件事,只要心甘情愿并且坚持不懈,总是会变得简单\', { icon: 1 }); } ,btn2:function(index){ layer.msg("我现在没空,忙着优秀。", { icon: 3 }); } }); });
/******tips测试********/ $("#tips_0").click(function(){ layer.tips("tips测试", "#tips_0",{ tips: [1, \'#000\'], //方位 1:上,2:右,3:右,4:左,颜色" timeout:0, //多久关闭,0为不自动 tipsMore: true, //不销毁之前的 }); }); $("#tips_1").click(function(){ layer.tips("与其抱怨,不如改变。", "#tips_1",{ tips: [1, \'#000\'], tipsMore: true, }); }); $("#tips_2").click(function(){ layer.tips("人不会苦一辈子,但总会苦一阵子。许多人为了逃避苦一阵子,却苦了一辈子。", "#tips_2", { tips: [2, \'#666\'] }); }); $("#tips_3").click(function(){ layer.tips("梦想尚未实现,远方尚未抵达,便不要停止奋力奔跑的脚步,努力永远都不晚!", "#tips_3", { tips: 3 }); }); $("#tips_4").click(function(){ layer.tips("别把最好的时光,浪费在无谓的等待与犹豫不决中。", "#tips_4",{ tips: [4] }); });
/******prompt测试********/ $("#prompt_0").click(function(){ layer.prompt(function(val, index){ layer.msg(\'不要假装很努力,因为结果不会陪你演戏! 得到了\'+val); layer.close(index); }); });
/******加载层测试********/ var load_type = 0; $("#load_0").click(function(){ var layer_index = layer.load(load_type); layer.tips("load_type:"+load_type, "#load_0"); load_type++; if(load_type>=3){ load_type = 0; } //此处演示关闭 setTimeout(function(){ //layer.closeAll(\'loading\'); //关闭全部加载层 layer.close(layer_index); //关闭指定 }, 1000); });
/******简单集合测试********/ $("#simple_collect_0").click(function(){ layer.alert(\'简单集合测试\', { time: 0 //0:不自动关闭 ,area: [\'500px\', \'180px\'] ,btnAlign: \'c\' //按钮居中 ,btn: [\'alert\',\'msg\',\'tips\',\'prompt\',\'load\'] ,yes:function(index){ layer.alert("一号按钮 alert。很多时候,我们欠缺的不是想法,而是付诸行动的勇气。"); } ,btn2:function(index){ layer.msg("二号按钮 msg。失败是什么?没有什么,只是更走近成功一步;成功是什么? 就是走过了所有通向失败的路,只剩下一条路,那就是成功的路。"); } ,btn3:function(index){ layer.tips("三号按钮 tips。树的方向,风决定。人的方向,自己决定。", "#simple_collect_0"); } ,btn4:function(index){ layer.prompt(function(val, index){ layer.msg(\'四号按钮得到了【\'+val+"】。 你想要的,岁月凭什么给你,所有逆袭,都是有备而来,所有光芒,需要时间才能被看到,所有幸运,都是努力埋下的伏笔"); layer.close(index); }); } ,btn5:function(index){ //加载层测试 var layer_index = layer.load(load_type); layer.tips("加载层-load_type:"+load_type, "#simple_collect_0"); load_type++; if(load_type>=3){ load_type = 0; } setTimeout(function(){ //layer.closeAll(\'loading\'); //关闭全部加载层 layer.close(layer_index); //关闭指定 }, 1000); } }); });
/******************************open*************************/ /******信息框*******/ $("#open_0").click(function(){ layer.open({ type: 0, icon: 0, content: \'宠辱不惊,闲庭信步\' }); });
/******如果是页面层*******/ $("#open_1").click(function(){ layer.open({ type: 1, icon: 2, area: [\'600px\', \'360px\'], content: \'何必等以后,梦想就在当下\' }); });
/******如果是页面层*******/ $("#open_1").click(function(){ layer.open({ type: 1, icon: 2, area: [\'300px\', \'160px\'], content: \'<center style="color:#a23">何必等以后,梦想就在当下</center>\' }); });
$("#open_2").click(function(){ layer.open({ type: 1, content: $(\'#refer_outer_open_2\') //这里content是一个DOM,注意:最好该元素要存放在body最外层,否则可能被其它的相对元素所影响 }); });
/******如果是iframe层*******/ $("#open_3").click(function(){ layer.open({ title:\'type:2, 打开网页,父子层演示\', type: 2, area: [\'1200px\',\'500px\'], content: [\'child.html\',\'yes\'] //URL,是否滚动条 }); });
/******如果是tips*******/ $("#open_4").click(function(){ //layer.open执行tips层 layer.open({ type: 4, //tips time: 5000, content: [\'type:4, tips提示。\', \'#open_4\'] //数组第二项即吸附元素选择器或者DOM }); });
//4 父子层 child.html //注意:parent 是 JS 自带的全局对象,可用于操作父页面 //父子层演示,file:///访问,console台js报错,需要服务环境运行 var index = parent.layer.getFrameIndex(window.name); //获取当前窗口索引 //让层自适应iframe $(\'#auto\').on(\'click\', function(){ $(\'body\').append(\'当你认为困难的时候,其实就是最接近成功的时候\'); parent.layer.iframeAuto(index); }); //在父层弹出一个层 $(\'#new\').on(\'click\', function(){ parent.layer.msg(\'Hi, man\', {shade: 0.3}) });
//给父页面传值 $(\'#transmit\').on(\'click\', function(){ var val = $(\'#name\').val(); if(val === \'\' || undefined === val){ parent.layer.msg(\'请填写值\'); return; } var i = RandomNumBoth(100000,999999); parent.$(\'#parentIframe\').text("【"+ val +"】+随机数:"+ i); parent.layer.tips(\'看这里看这里\', \'#parentIframe\', {tips:1,time: 0}); parent.layer.close(index); });![]()
//关闭iframe
$(\'#closeIframe\').click(function(){ parent.layer.msg(\'关闭了子窗口\'); parent.layer.close(index); });
/********************所有代码*************************/
testLayer.html
<!DOCTYPE HTML>
<html>
<head>
<title>test layer</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<!-- 修改相应的js路径 -->
<script type="text/javascript" src="js/jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="js/layer-v3.1.1/layer.js"></script>
</head>
<div id="refer_outer_open_2" style="display:none;margin:10px">
<h2> 任何事情,都有一个过程,坚持一下,再坚持一下。播种和收获,本来就不在一个季节!</h2>
</div>
<body>
<style>
.layui-btn {
display: inline-block;
vertical-align: middle;
height: 38px;
line-height: 38px;
padding: 0 18px;
background-color: #009688;
color: #fff;
white-space: nowrap;
text-align: center;
font-size: 14px;
border: none;
border-radius: 2px;
cursor: pointer;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
</style>
<div>
<h1>********************layer演示*********************</h1>
</div>
<div>
<br />
<h2>alert演示</h2>
<button id="alert_0" class="layui-btn">alert_0.alert测试</button>
</div>
<div>
<br />
<h2>msg演示</h2>
<button id="msg_0" class="layui-btn">msg_0.msg测试</button>
</div>
<div>
<br />
<h2>tips演示</h2>
<button id="tips_0" class="layui-btn">tips_0.tips提示测试</button>
<button id="tips_1" class="layui-btn">tips_1.上侧提示</button>
<button id="tips_2" class="layui-btn">tips_2.右侧提示</button>
<button id="tips_3" class="layui-btn">tips_3.下侧提示</button>
<button id="tips_4" class="layui-btn">tips_4.左侧提示</button>
</div>
<div>
<br />
<h2>prompt演示</h2>
<button id="prompt_0" class="layui-btn">prompt_0.prompt提示测试</button>
</div>
<div>
<br />
<h2>load演示</h2>
<button id="load_0" class="layui-btn">load_0.加载层测试</button>
</div>
<div>
<br />
<h2>简单集合演示</h2>
<button id="simple_collect_0" class="layui-btn">simple_collect_0.简单集合测试</button>
</div>
<div>
<br />
<h2>**********************open演示, 信息框*****************************</h2>
<button id="open_0" class="layui-btn">open_0.自定义内容 type:0</button>
</div>
<div>
<br />
<h2>页面层</h2>
<button id="open_1" class="layui-btn">open_1.自定义内容 type:1</button>
</div>
<div>
<br />
<h2>引用dom</h2>
<button id="open_2" class="layui-btn">open_2.引用dom type:1</button>
</div>
<div>
<br />
<h2>iframe层</h2>
<button id="open_3" class="layui-btn">open_3.iframe层 type:2</button>
父子层传值显示:<span id="parentIframe" class="layui-layer-title">值:无</span>
</div>
<div>
<br />
<h2>tips层</h2>
<button id="open_4" class="layui-btn">open_4.iframe层 type:4</button>
</div>
<script type="text/javascript">
/**
//相关属性
title : false, //标题
area : [\'700px\', \'450px\'], //弹框大小
area : \'516px\', //宽
icon : 1 //图标,默认皮肤可以传入0-6如果是加载层,可以传入0-2
,shade : 0.01 //透明度
,shadeClose: true, //点击遮罩关闭
,offset : \'t\' //位置\'auto\'-默认居中 \'100px\'-只定义top坐标 [\'100px\', \'50px\']-同时定义top、left \'t\'-顶部 \'r\'-右边 \'b\'-底部 \'l\'-左边 \'lt\'-左上角
,zIndex : 19891014 //默认:19891014(贤心生日 0.0)
,btnAlign: \'c\' //\'l\':按钮左对齐 \'c\':按钮居中对齐 \'r\':按钮右对齐。默认值,不用设置
fixed : false, //不固定
maxmin : true, //最大化最小化按钮
maxWidth:100 //最大宽度 最大高度,maxHeight 只有当area: \'auto\'时才有效
closeBtn: 0, //可通过配置1和2来展示两种风格,0:不显示
scrollbar: false, //屏蔽浏览器滚动条
resize : true, //是否允许拉伸
skin : \'layui-layer-rim\', //加上边框\'layui-layer-nobg\', //没有背景色
anim : 6, //anim: 0 平滑放大。默认,anim: 1 从上掉落,anim: 2 从最底部往上滑入,anim: 3 从左滑入,anim: 4 从左翻滚,anim: 5 渐显,anim: 6 抖动
end : function(){} // 层销毁后触发的回调,无论是确认还是取消,只要层被销毁了,end都会执行,不携带任何参数。
resizing: function(layero){} //监听窗口拉伸动作
layer.full(index); //full()、min()、layer.restore()最大化、最小化、还原 后
layer.setTop(layero) //置顶当前窗口
layer.tab({ //tab层
area: [\'600px\', \'300px\'],
tab: [{
title: \'TAB1\',
content: \'内容1\'
}, {
title: \'TAB2\',
content: \'内容2\'
}, {
title: \'TAB3\',
content: \'内容3\'
}]
});
layer.photos({ //相册层
photos: \'#layer-photos-demo\'
,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
});
*/
/******alert测试********/
var icon_type = 0;
$("#alert_0").click(function(){
layer.alert("icon: "+ icon_type +\'看过太多的人生指南,都快找不着"北"\'
, { icon : icon_type ,yes : function(index){ icon_type++; if(icon_type>= 7) icon_type = 0; $("#alert_0").click(); }
,cancel : function(index){ //右上角关闭回调 alert("cancel:"+index); } }); }); /******msg测试********/ $("#msg_0").click(function(){ layer.msg(\'消息框测试\', { time: 0 //0:不自动关闭 ,btn: [\'确定\', \'取消\'] ,yes: function(index){ layer.close(index); layer.msg(\'任何一件事,只要心甘情愿并且坚持不懈,总是会变得简单\', { icon: 1 }); } ,btn2:function(index){ layer.msg("我现在没空,忙着优秀。", { icon: 3 }); } }); }); /******tips测试********/ $("#tips_0").click(function(){ layer.tips("tips测试", "#tips_0",{ tips: [1, \'#000\'], //方位 1:上,2:右,3:右,4:左,颜色" timeout:0, //多久关闭,0为不自动 tipsMore: true, //不销毁之前的 }); }); $("#tips_1").click(function(){ layer.tips("与其抱怨,不如改变。", "#tips_1",{ tips: [1, \'#000\'], tipsMore: true, }); }); $("#tips_2").click(function(){ layer.tips("人不会苦一辈子,但总会苦一阵子。许多人为了逃避苦一阵子,却苦了一辈子。", "#tips_2", { tips: [2, \'#666\'] }); }); $("#tips_3").click(function(){ layer.tips("梦想尚未实现,远方尚未抵达,便不要停止奋力奔跑的脚步,努力永远都不晚!", "#tips_3", { tips: 3 }); }); $("#tips_4").click(function(){ layer.tips("别把最好的时光,浪费在无谓的等待与犹豫不决中。", "#tips_4",{ tips: [4] }); }); /******prompt测试********/ $("#prompt_0").click(function(){ layer.prompt(function(val, index){ layer.msg(\'不要假装很努力,因为结果不会陪你演戏! 得到了\'+val); layer.close(index); }); }); /******加载层测试********/ var load_type = 0; $("#load_0").click(function(){ var layer_index = layer.load(load_type); layer.tips("load_type:"+load_type, "#load_0"); load_type++; if(load_type>=3){ load_type = 0; } //此处演示关闭 setTimeout(function(){ //layer.closeAll(\'loading\'); //关闭全部加载层 layer.close(layer_index); //关闭指定 }, 1000); }); /******简单集合测试********/ $("#simple_collect_0").click(function(){ layer.alert(\'简单集合测试\', { time: 0 //0:不自动关闭 ,area: [\'500px\', \'180px\'] ,btnAlign: \'c\' //按钮居中 ,btn: [\'alert\',\'msg\',\'tips\',\'prompt\',\'load\'] ,yes:function(index){ layer.alert("一号按钮 alert。很多时候,我们欠缺的不是想法,而是付诸行动的勇气。"); } ,btn2:function(index){ layer.msg("二号按钮 msg。失败是什么?没有什么,只是更走近成功一步;成功是什么? 就是走过了所有通向失败的路,只剩下一条路,那就是成功的路。"); } ,btn3:function(index){ layer.tips("三号按钮 tips。树的方向,风决定。人的方向,自己决定。", "#simple_collect_0"); } ,btn4:function(index){ layer.prompt(function(val, index){ layer.msg(\'四号按钮得到了【\'+val+"】。 你想要的,岁月凭什么给你,所有逆袭,都是有备而来,所有光芒,需要时间才能被看到,所有幸运,都是努力埋下的伏笔"); layer.close(index); }); } ,btn5:function(index){ //加载层测试 var layer_index = layer.load(load_type); layer.tips("加载层-load_type:"+load_type, "#simple_collect_0"); load_type++; if(load_type>=3){ load_type = 0; } setTimeout(function(){ //layer.closeAll(\'loading\'); //关闭全部加载层 layer.close(layer_index); //关闭指定 }, 1000); } }); }); /******************************open*************************/ /******信息框*******/ $("#open_0").click(function(){ layer.open({ type: 0, icon: 0, content: \'宠辱不惊,闲庭信步\' }); }); /******如果是页面层*******/ $("#open_1").click(function(){ layer.open({ type: 1, icon: 2, area: [\'300px\', \'160px\'], content: \'<center style="color:#a23">何必等以后,梦想就在当下</center>\' }); }); $("#open_2").click(function(){ layer.open({ type: 1, content: $(\'#refer_outer_open_2\') //这里content是一个DOM,注意:最好该元素要存放在body最外层,否则可能被其它的相对元素所影响 }); }); /******如果是iframe层*******/ $("#open_3").click(function(){ layer.open({ title:\'type:2, 打开网页,父子层演示\', type: 2, area: [\'1200px\',\'500px\'], content: [\'child.html\',\'yes\'] //URL,是否滚动条 }); }); /******如果是tips*******/ $("#open_4").click(function(){ //layer.open执行tips层 layer.open({ type: 4, //tips time: 5000, content: [\'type:4, tips提示。\', \'#open_4\'] //数组第二项即吸附元素选择器或者DOM }); }); </script> </body> </html>
child.html
<!DOCTYPE HTML>
<html>
<head>
<title>child</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<!-- 修改相应的js路径 -->
<script type="text/javascript" src="js/jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="js/layer-v3.1.1/layer.js"></script>
</head>
<div id="refer_outer_open_2" style="display:none;margin:10px">
<h2> 任何事情,都有一个过程,坚持一下,再坚持一下。播种和收获,本来就不在一个季节!</h2>
</div>
<body>
<style>
.layui-btn {
display: inline-block;
vertical-align: middle;
height: 38px;
line-height: 38px;
padding: 0 18px;
background-color: #009688;
color: #fff;
white-space: nowrap;
text-align: center;
font-size: 14px;
border: none;
border-radius: 2px;
cursor: pointer;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
</style>
<div>
<br />
<h2>父子层演示,file:///访问报错,需要服务环境运行</h2>
<button id="alert_0" class="layui-btn">alert测试</button>
</div>
<div>
<br />
<h2>让层自适应iframe</h2>
<button id="auto" class="layui-btn">让层自适应iframe</button>
</div>
<div>
<br />
<h2>在父层弹出一个层</h2>
<button id="new" class="layui-btn">在父层弹出一个层</button>
</div>
<div>
<br />
<h2>给父页面传值</h2>
<button id="transmit" class="layui-btn">给父页面传值</button> 值:<input class="layui-input" id="name">
</div>
<div>
<br />
<h2>关闭iframe</h2>
<button id="closeIframe" class="layui-btn">关闭iframe</button>
</div>
<!--js-->
<script type="text/javascript">
function RandomNumBoth(Min,Max){
var Range = Max - Min;
var Rand = Math.random();
var num = Min + Math.round(Rand * Range); //四舍五入
return num;
}
/******alert测试********/
$("#alert_0").click(function(){
layer.alert("提示:父子层演示,file:///访问报错,需要服务环境运行", {
icon: 7
});
});
//4 父子层 child.html
//注意:parent 是 JS 自带的全局对象,可用于操作父页面
//父子层演示,file:///访问,console台js报错,需要服务环境运行
var index = parent.layer.getFrameIndex(window.name); //获取当前窗口索引
//让层自适应iframe
$(\'#auto\').on(\'click\', function(){
$(\'body\').append(\'当你认为困难的时候,其实就是最接近成功的时候\');
parent.layer.iframeAuto(index);
});
//在父层弹出一个层
$(\'#new\').on(\'click\', function(){
parent.layer.msg(\'Hi, man\', {shade: 0.3})
});
//给父页面传值
$(\'#transmit\').on(\'click\', function(){
var val = $(\'#name\').val();
if(val === \'\' || undefined === val){
parent.layer.msg(\'请填写值\');
return;
}
var i = RandomNumBoth(100000,999999);
parent.$(\'#parentIframe\').text("【"+ val +"】+随机数:"+ i);
parent.layer.tips(\'看这里看这里\', \'#parentIframe\', {tips:1,time: 0});
parent.layer.close(index);
});
//关闭iframe
$(\'#closeIframe\').click(function(){
parent.layer.msg(\'关闭了子窗口\');
parent.layer.close(index);
});
</script>
</body>
</html>