从酒店管理系统到智能门锁及其现在的资源共享平台,layui框架,我们团队用的比较多的就是这个layui弹出层。

layui弹出层,除了页面iframe层我们比较常用还有就是表单校验和其他相关的友好提示信息。

通常比较常用的方式是layui+jQuery,layui主要引用layui相关的js和css文件,jQuery的话,通常就是两个版本,压缩版和源码版,压缩版就像我们Java没有用maven那样,就是一个一个的jar文件,如果我们想看源码,就必须找到对应的源文件。源文件通常情况下比jar包式的文件要大的多。就好比我们部署web工程,特别是使用maven项目的时候,通过打包,将war项目打成war包,由上百兆变成十几兆。

当然了,使用压缩版,且建议使用压缩版,生产环境一定要使用压缩版,压缩版压缩版,看这词,肯定和源码版相比,体积要小的多。

目前很多企业的软件,很多都包含这么几端,浏览器端,客户端或者电脑端等,无论是浏览器端、客户端、电脑端,它们都要用的一个玩意,换言之遵守一个规则,即HTTP请求的规则。

《高性能网站建设指南》中提出了关于网站性能优化十个点,其中就包括减少Http请求,而且我认识的朋友中,有不少他们公司要么是使用CDN将所有的静态资源放在CDN上,当然了,有的放在CDN上是几个文件的压缩版,比如相关的4到5个css文件,但是很多页面都引用,而且它并没有很多变动,基本不动,这种情况我们使用YUI压缩技术或者其他压缩技术,将其压缩成一个css文件,当然文件体积比较大,但是相对于请求4到5个css静态文件,也就是请求4到5个http请求来说,相对比请求一个,响应时间要少的多,响应时间一少,用户体验也就好了。而且对于web性能方面还是很有帮助的。

当然了,体积大占用的带宽也会比较大,所有这也是建议使用压缩版。体积小,占用带宽少,功能也并无差别。当然了,像个人学习或者测试环境可以使用源码版的。

layui的弹出层也可以帮助我们性能优化,它可以使页面上的html相关的标签减少,从而使整个文件减少,这样一来html文件虽然多,但是并不是全部在一个页面上,要知道很多iframe在一块,真的不利于维护,或者维护起来比较困难,通过layui倒可以将一些比如添加的form表单或者是增加编辑信息之类的抽取出来为一个界面,利于维护,也利于性能。

下面说说,layui我常用的几个弹出层:

首先贴一下layui的官网:http://www.layui.com/

layui的下载和文档上面都有,对于一些公司技术调研方面,通常会比较以下:

(1)社区是否活跃;

(2)文档是否丰富;

(3)风险是否可控;

layui基本满足以上原则,社区很活跃,文档也非常丰富,至于风险,很多开源项目和我认识的朋友们,他们公司也在用这个框架,既然这么多人都在用,那么我想风险方面一定也是可控的。

注意一点:

一定要在layui.use('layer',function(){}函数作用域内加上var layer=layui.layer

就好像你要使用jQuery的ajax那样,加上$.ajax或者$.post、$.get

$相当于是jQuery,只是给它起了个别名

这样说好像有点欠妥,再补充一点,就好比Java或者js,你要使用这个变量并给其赋值,前提是必须有,这个“有”,可以理解为声明。

Java对于变量,流行这样一句,先声明再赋值,边声明边赋值。js同样如此。

再打比方:

比如Java类中,写了多个方法,那么你如果可以调用这个方法呢?出来将方法用static修饰之外,以类名调用方法,还有就是实例化,换言之就是New

layui也是这个道理,你如果想要用它的弹出层相关的一系列方法,就必须要声明赋值才行。不然就无法调用。

代码讲解

1.  layer.msg

 layui.use('layer', function(){var layer=layui.layer;layer.msg('消息001');});

这个通常用于消息提示,比如退房推送,比如做酒店系统时,有人退房了,通过它提醒酒店店长及其相关人员,说某某在某时刻退房了,这时收到通知就可以通知对应的清洁人员去打扫,当然了,现在手机发短信的形式非常流行,至于退房推送不必通过layer.msg来提示,不过作为后台系统而言,有人退房的话,经理或者其他的管理人员,需要及时在web界面上看到,这时layer.msg就可以起到作用。

当然了,也可以用于表单校验。

              layer.msg('参数自定义', {time:1500, //1.5s后自动关闭btn: ['明白了', '知道了', '哦']});

这个可以让人联想到,比如你的好友评论你的文章或者你的好友上线下线,又或者某某个点赞了你的说说等,直接就会弹出来,当然了比如中说的就是事件,当然得触发事件才行。不然的话就成死循环了。

time这个属性在这里的作用是信息时间定义,就是msg显示在屏幕上多长时间,不写默认是2秒。根据自己需求而定。

2.layer.open

 layui.use('layer', function(){var layer=layui.layer;layer.open({type:2,title:'iframe',fix:false,maxmin:true,shadeClose:true,shade:0.8,area: ['1000px', '700px'],content:'https://www.baidu.com',end: function () {location.reload();}});});

这个通常的可以用于减少HTML大量的标签,这让我想到了Bootstrap,Bootstrap的响应式,我是没话说,满意+非常满意,但是它的那个模态框我不喜欢,有的时候,我的界面需要好几个模态框这样的,但是如果加上了,即便是有注释,简单的说吧,如果div嵌套的少,那还好说,如果div加上个选项卡,选项卡里面又套div,而且又是好几个,这样就不能使用模态框了,当然bootstrap实现这个也很简单,但是对于页面来说,加入了很多HTML,即便有注释,也会使页面的复杂性增加,不利于维护,这时layui的功效来了,通过layer.open可轻松的将模态框分离为一个界面这样页面不利于维护的问题也就解决了。而且用户体验也非常好。

    layui.use('layer', function(){var layer=layui.layer;layer.open({type:1, area: ['200px', '100px'],content:'<p align="center">消息003</p>' //这里content是一个普通的String
});});

layer..open的type有5种类型:

0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)

我个人用的比较的还是信息框和页面层及其iframe层,当然了加载层也用,至于tips层基本没用过。没用过也不能说没有用。

3.lay.alert

layui.use('layer', function(){var layer=layui.layer;layer.alert('test', {icon: 1});});

这个可以说是alert强化版本,alert在原始的js中也就是起到提示信息的作用,比如表单校验就比较常用。

4.layer.prompt

layer.prompt(function(value, index, elem){alert(value); //得到valuelayer.close(index);});

layer.prompt({formType: 2,value: '初始值',title: '请输入值',area: ['800px', '350px'] //自定义文本域宽高}, function(value, index, elem){alert(value); //得到valuelayer.close(index);});

提示用户输入的提示框,和原本的js中的prompt一样。只是功能更强大了。

通常可以应用于用户评论文章

5.layer.tab

layer.tab({area: ['600px', '300px'],tab: [{title: 'TAB1', content: '内容1'}, {title: 'TAB2', content: '内容2'}, {title: 'TAB3', content: '内容3'}]});

选项卡就不说了,之前提到过,layer.tab+layer.open结合起来更强大。

小结:

框架,无论是前端框架或者后端框架,框架的目的只有一个更好更快更方便。

这与奥林匹克的格言:“更快、更高、更强”不谋而合。

layui弹出层之应用实例讲解相关推荐

  1. layui弹出层html,layui弹出层效果实现代码

    本文实例为大家分享了layui弹出层的具体代码,供大家参考,具体内容如下 弹出层 大部分演示都在layer独立组件的官网,与内置的layer模块,用法是完全一致的 特殊例子 Tips:为了更清晰演示, ...

  2. layer弹出层闪退_关于layui 弹出层一闪而过就消失的解决方法

    关于layui 弹出层一闪而过就消失的解决方法 听说是因为 JQuery 的版本冲突问题,在找到具体问题之前,先在代码里加一个 return false 解决问题: 立即提交 js: //监听提交 f ...

  3. 模拟layui弹出层

    以前觉得自己手写一个类似layui的弹出层是挺遥远的事,因为完全没有头绪,即便在layui官网知道layui使用的都是C3动画 之前试过控制width:0;height:0来做动画,结果惨不忍睹,直到 ...

  4. layui弹出层:使用icon图标小结

    文章目录 layui弹出层:icon图标小结 表格示下: 调用代码 · 效果图 · 示下: layui弹出层:icon图标小结 layui的弹框插件layer中,有很多不同场景需要的弹框icon图标, ...

  5. layui弹出层:皮肤扩展(文档解读)

    layui弹出层:皮肤扩展(文档解读) layui弹出层:样式自定义 官方文档:https://layer.layui.com/ 皮肤扩展 · 官方教程: 官方文档:https://layer.lay ...

  6. layui弹出层:倒计时后自动关闭(含代码、案例)

    layui弹出层:倒计时后自动关闭(含代码.案例) 问题描述: 如何设定倒计时? 如何在自动倒计时结束后关闭弹框: 如何自定义"按钮文字"文案: 如何在关闭后,执行函数事件: 如何 ...

  7. layui弹出层之layer.open弹出iframe窗口·

    layui弹出层之layer.open弹出iframe窗口· layer.open弹出iframe窗口 [1]该功能为案例,弹出iframe窗口显示上传数据 由于layui的弹出层每次执行layer. ...

  8. 如何更改layui弹出层样式

    首先引入插件: js: <script src="./layui/src/layui.js"></script> 然后设置layui弹出层内容: layer ...

  9. Layui 弹出层插件

    Layui 弹出层插件 开发工具与关键技术: Visual Studio 2015 – Layui 作者:廖亚星 撰写时间:2019年 6 月4日 这段时间在做项目页面的搭建,在页面的操作中,会出现很 ...

最新文章

  1. Android-View点击水波纹特效
  2. 网页前端套java数据_【java】网页/移动前端需要的数据,最好一个接口包含所有数据么?...
  3. 折叠屏市场价值在哪里?
  4. 《Go语言圣经》学习笔记 第十一章 测试
  5. Ubuntu系统显卡驱动、CUDA、CUDNN安装(一显卡驱动)
  6. 张亚勤退休百度,技术客回归学术
  7. JSON-B和Yasson详解
  8. 你关注过浏览器最小字体为多大吗?
  9. OLED原理、时序和操作+自己源码程序
  10. 打印1000张大概多少钱,打印费多少钱一张
  11. 如何通过Flow制作简单的工作流 - 请假审批2
  12. php 易宝支付,易宝支付
  13. C语言中printf打出2进制与16进制数
  14. R语言用quantstrat包获取股票、债券、基金、黄金、原油、指数、外汇和全球经济数据
  15. 计算机配置打开命令行,win7开机f8进入修复计算机cmd装xp
  16. 《机器学习》 线性模型
  17. RSA共模攻击(包括原理)
  18. 请大家访问我的MSN空间(http://pal3boy.spaces.live.com)
  19. win10:dos调用ffmpeg批量转换视频格式
  20. fancybox ajax post,javascript - 将jquery fancybox显示为ajax成功

热门文章

  1. 新版微信来了,这个功能也下了
  2. 请求合并的 3 种方式,大大提高接口性能!
  3. 《啤酒与饮料》python
  4. js去除 html 中 input 的readOnly(只读)属性
  5. WORD表格后插入空白段落
  6. 使用Apache POI将ppt截屏成png格式(+背景和图片)
  7. Scientific.Toolworks.Understand.v4.0.872.MACOSX-AMPED
  8. html制作日历备忘录,原生JS代码制作带记事备忘功能的双月份显示效果的日历
  9. 如何快速系统学会使用SPSS?
  10. Ubuntu 20.04下wine解决QQ/微信等不能输入的问题