LAYUI弹出层详解

今天空了学习一下弹出层

还是一步步展示把 首先,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的=接口处理

原文地址:https://www.cnblogs.com/huhewei/p/12687895.html

时间: 2024-10-03 23:30:54

LAYUI弹出层详解的相关文章

弹出层详解,从简单到复杂

一.最简单的弹出 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="

原生JS弹出层详解,从简单到复杂

1.弹出层详解,从简单到复杂 http://www.artcss.com/archives/477.html 2.JavaScript 仿LightBox内容显示效果 http://www.cnblogs.com/cloudgamer/archive/2008/09/15/1290954.html

layer弹出层详解

前言:学习layer弹出框,之前项目是用bootstrap模态框,后来改用layer弹出框,在文章的后面,我会分享项目的一些代码(我自己写的). layer至今仍作为layui的代表作,她的受众广泛并非偶然,而是这五年多的坚持,不断完善和维护.不断建设和提升社区服务,使得猿们纷纷自发传播,乃至于成为今天的Layui最强劲的源动力.目前,layer已成为国内最多人使用的web弹层组件,GitHub自然Stars3000+,官网累计下载量达30w+,大概有20万Web平台正在使用layer. 具体请

layer/layui弹出层插件bug

<button class="layui-btn" lay-submit lay-filter="formDemo" id="layui-btn" type="submit">立即提交</button> 使用layer/layui弹出层插件,type="submit"时,弹出层失效,改为type="button"时正常弹出;

模拟layui弹出层

以前觉得自己手写一个类似layui的弹出层是挺遥远的事,因为完全没有头绪,即便在layui官网知道layui使用的都是C3动画 之前试过控制width:0;height:0来做动画,结果惨不忍睹,直到几天前灵机一动联想到了tranform的scale属性,才稍微触及到了皮毛 为了不添加格外的HTML结构,所以弹出层也是动态生成 layui弹出框和遮罩层是同级结构,而我把弹出框放遮罩层里了,所以关闭时要用animationend来监听,弹出框做完动画后才删除遮罩层 确认框confirm之前也想跟原

layui弹出层

利用layui框架layer部分执行的弹出层,这样比起普通alert的弹出层更美观 首先,写一个按钮 <button class='btn'>点击试试</button> js部分 $(document).ready(function () { $('.btn').on('click', function () { layer.confirm('你好吗?', { btn: ['好', '不好'] }, function () { layer.msg('hao', { icon: 1

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

思路:在弹出层页面form表单中增加一个隐藏的提交按钮,当弹出层点击确定按钮时,触发弹出层页面中的隐藏按钮,触发提交校验 弹出层脚本如下: function LoadDemo(id) { layer.open({ title: '弹出层标题', //弹出层标题 type: 2, content: 'demo.shtml', btn: ['确定', '关闭'], area: ["650px", "550px"], success: function (layero,

Ext.MessageBox.alert()弹出对话框详解

Ext.MessageBox是一个工具类,他继承自Obiect对象,用来生成各种风格的信息提示对话框,Ext.Msg是该类的别名,使用Ext.MessageBox和用Ext.Msg效果是一样的,而后者提供了更简单的方式.   语法:Ext.Msg.alert(String title, String msg, Function fn, Object scope);   参数: title:标题 msg:提示内容 fn:提示框关闭后自动调用的回调函数 scope:作用域,用于指定this指向哪里,

layui弹出层layer过大被遮挡解决办法-resize事件自动调整

遇到的问题 ??最近在使用layui做一个管理系统,由于前端技术有限,在开发过程中也遇到这样那样的问题,即比较简单的问题有时也要搞半天..??layer弹出窗口在弹出时指定了area,弹出后,如果当前页面(iframe)大小比弹出的窗口小,那么就会出现无法操作弹出窗口的尴尬情况.查看官方文档以及搜索引擎,都没有找到好的办法.如图所示: 弹出窗口比当前页面大 ??这时,唯有放大整个页面才能看到完全的弹出窗口,才可以操作. 我的尝试 ??我的思路时通过监听页面的resize事件,通过layer.st