还是一步步展示把 首先,layer可以独立使用,也可以通过Layui模块化使用。我个人一直是用的模块化的 所以下面素有的都是基于模块化的。

引入好相关文件就可以开始啦  今天放图片把 试着学一下放图片

1.最简单的弹层,这个弹层的效果其实就是一个加了特效和样式的alert();代码如下:

<script>
layui.use("layer", function () {
var layer = layui.layer;
layer.msg("大家好,这是最简单的弹层");
});
</script>

以上直接放到html页面就OK。运行效果就出来了

技术图片

 效果就是这样了 他有一个默认的time基础参数 表示弹出来多久后自动关闭 默认好像是3000MS. time更改方法:layer.msg("大家好,这是最简单的弹层", {time:9000});

(设置为9S).

下面看一下 可以设置的基础参数有哪些以及效果。

1.type-基本层类型

类型:Number,默认:0

layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)。 若你采用layer.open({type: 1})方式调用,则type为必填项(信息框除外

2.title-标题

title支持三种类型的值,若你传入的是普通的字符串,如title :‘我是标题‘,那么只会改变标题文本;若你还需要自定义标题区域样式,那么你可以title: [‘文本‘, ‘font-size:18px;‘],数组第二项可以写任意css样式;如果你不想显示标题栏,你可以title: false

title实例:

 代码:layer.msg("大家好,这是最简单的弹层", { time: 9000, type: 1,title:[‘测试一下‘,‘font-size:18px‘] });   

可以看到出现了预想的效果。

技术图片

3.content-内容

content可传入的值是灵活多变的,不仅可以传入普通的html内容,还可以指定DOM,更可以随着type的不同而不同。

 第一种 :页面层

这里要提到另外一个参数area  宽高

下面开始展示,弹出内容

代码:

 <p id="p1">点我测试弹出层</p>

<script>
layui.use("layer", function () {
var layer = layui.layer;
//layer.msg("大家好,这是最简单的弹层", { time: 9000, type: 1,title:[‘测试一下‘,‘font-size:18px‘] });
$("#p1").click(function () {
layer.open({
type: 1,
area: [‘500px‘, ‘300px‘],
content: ‘传入任意的文本或html‘ //这里content是一个普通的String
});
});
});
</script>

技术图片

接下来  我们让他弹出一个DIV里面的内容

技术图片

可以看到  div中的内容 成功弹出  这个我之前在项目中多用来绑定layui的table  中修改和新增 用弹层的方式好一点

代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../layui/css/layui.css" rel="stylesheet" />
<script src="../layui/jquery-3.3.1.js"></script>
<script src="../layui/layui.js"></script>
</head>
<body>
<p id="p1">点我测试弹出层</p>


<script>
layui.use("layer", function () {
var layer = layui.layer;
//layer.msg("大家好,这是最简单的弹层", { time: 9000, type: 1,title:[‘测试一下‘,‘font-size:18px‘] });
$("#p1").click(function () {
layer.open({
type: 1,
area: [‘500px‘, ‘300px‘],
content: $("#test")
});
});
});
</script>
<!--我们在body中加入一个div,里面放入一个table-->
<div style="display:none" id="test">
<h1>来一个H1标题</h1>
<p> 你好哇 我是DIV里的内容</p>
<table border="1">
<tr>
<td>1111</td>
<td>1111</td>
<td>1111</td>
</tr>
<tr>
<td>1111</td>
<td>1111</td>
<td>1111</td>
</tr>
<tr>
<td>1111</td>
<td>1111</td>
<td>1111</td>
</tr>
</table>
</div>
</body>
</html>

 

4.offset-坐标  默认垂直水平居中 这个一般也不会用到

 layer.msg("skin的测试", { time: 9000, offset: [‘100px‘, ‘50px‘]});  弹出来的位置发生变化 没了

 

技术图片

5.icon-图标 信息框和加载层的私有参数

技术图片

就是这个效果啦 其实真觉得LAYUI挺好呢

 

6.btn-按钮  接下来按钮 这个听常用的 也比较有意思了 come on

 

layer.open({
content: ‘test‘
, btn: [‘按钮一‘, ‘按钮二‘, ‘按钮三‘]
, yes: function (index, layero) {
//按钮【按钮一】的回调
layer.msg("1的回调");
}
, btn2: function (index, layero) {
//按钮【按钮二】的回调
layer.msg("2的回调");
return false //开启该代码可禁止点击该按钮关闭
}
, btn3: function (index, layero) {
//按钮【按钮三】的回调
layer.msg("3的回调");
return false //开启该代码可禁止点击该按钮关闭
}
, cancel: function () {
//右上角关闭回调
layer.msg("4的回调");
//return false 开启该代码可禁止点击该按钮关闭
}
});

如描述 不同的btn可以对应不同的操作 这样你就可以在这些操作中做相应的接口为所欲为了

差不多 这些 个人认为比较重要的就是layer.open  页面层的调用 以及btn的=接口处理

 

以上是关于LAYUI弹出层详解的主要内容,如果未能解决你的问题,请参考以下文章

layui弹出层怎么不显示

layui使用layer弹出层父子页面事件相互调用方法

Layui表格及弹出层显示表格

layui弹出层type=2无法正常验证问题

layui弹出层

layui的弹出层效果在导航中的使用