layui弹出层效果实现代码

所属分类: 网络编程 / JavaScript 阅读数: 962
收藏 0 赞 0 分享

本文实例为大家分享了layui弹出层的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>弹出层</title>
 <link rel="stylesheet" href="layui/css/layui.css" media="all">
 <link rel="stylesheet" href="css/global.css" media="all">
 </head>
 <body>
 <blockquote class="layui-elem-quote">
  大部分演示都在layer独立组件的官网,与内置的layer模块,用法是完全一致的
 </blockquote>
 <fieldset class="layui-elem-field layui-field-title site-demo-button" style="margin-top: 30px;">
  <legend>特殊例子</legend>
 </fieldset>

 <div class="site-demo-button" id="LAY_demo" style="margin-bottom: 0;">
  <blockquote class="layui-elem-quote layui-quote-nm">
  Tips:为了更清晰演示,每触发下述一个例子之前,都会关闭所有已经演示的层
  </blockquote>
  <button data-method="setTop" class="layui-btn">多窗口模式,层叠置顶</button>
  <button data-method="confirmTrans" class="layui-btn">配置一个透明的询问框</button>
  <button data-method="notice" class="layui-btn">示范一个公告层</button>
  <button data-method="offset" data-type="t" class="layui-btn layui-btn-normal">上弹出</button>
  <button data-method="offset" data-type="r" class="layui-btn layui-btn-normal">右弹出</button>
  <button data-method="offset" data-type="b" class="layui-btn layui-btn-normal">下弹出</button>
  <button data-method="offset" data-type="l" class="layui-btn layui-btn-normal">左弹出</button>
  <button data-method="offset" data-type="lt" class="layui-btn layui-btn-normal">左上弹出</button>
  <button data-method="offset" data-type="lb" class="layui-btn layui-btn-normal">左下弹出</button>
  <button data-method="offset" data-type="rt" class="layui-btn layui-btn-normal">右上弹出</button>
  <button data-method="offset" data-type="rb" class="layui-btn layui-btn-normal">右下弹出</button>
  <button data-method="offset" data-type="auto" class="layui-btn layui-btn-normal">居中弹出</button>
 </div>

 <div class="layui-elem-quote" style="margin-top: 20px;">
  <p>Layui - 精心为你雕琢</p>
 </div>

 <script src="layui/layui.js"></script>
 <script>
layui.use('layer', function(){ //独立版的layer无需执行这一句
 var $ = layui.jquery, layer = layui.layer; //独立版的layer无需执行这一句

 //触发事件
 var active = {
 setTop: function(){
 var that = this; 
 //多窗口模式,层叠置顶
 layer.open({
 type: 2 //此处以iframe举例
 ,title: '当你选择该窗体时,即会在最顶端'
 ,area: ['390px', '260px']
 ,shade: 0
 ,maxmin: true
 ,offset: [ //为了演示,随机坐标
  Math.random()*($(window).height()-300)
  ,Math.random()*($(window).width()-390)
 ] 
 ,content: 'http://layer.layui.com/test/settop.html'
 ,btn: ['继续弹出', '全部关闭'] //只是为了演示
 ,yes: function(){
  $(that).click(); 
 }
 ,btn2: function(){
  layer.closeAll();
 }

 ,zIndex: layer.zIndex //重点1
 ,success: function(layero){
  layer.setTop(layero); //重点2
 }
 });
 }
 ,confirmTrans: function(){
 //配置一个透明的询问框
 layer.msg('大部分参数都是可以公用的<br>合理搭配,展示不一样的风格', {
 time: 20000, //20s后自动关闭
 btn: ['明白了', '知道了', '哦']
 });
 }
 ,notice: function(){
 //示范一个公告层
 layer.open({
 type: 1
 ,title: false //不显示标题栏
 ,closeBtn: false
 ,area: '300px;'
 ,shade: 0.8
 ,id: 'LAY_layuipro' //设定一个id,防止重复弹出
 ,btn: ['火速围观', '残忍拒绝']
 ,moveType: 1 //拖拽模式,0或者1
 ,content: '<div style="padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">你知道吗?亲!<br>layer ≠ layui<br><br>layer只是作为Layui的一个弹层模块,由于其用户基数较大,所以常常会有人以为layui是layerui<br><br>layer虽然已被 Layui 收编为内置的弹层模块,但仍然会作为一个独立组件全力维护、升级。<br><br>我们此后的征途是星辰大海 ^_^</div>'
 ,success: function(layero){
  var btn = layero.find('.layui-layer-btn');
  btn.css('text-align', 'center');
  btn.find('.layui-layer-btn0').attr({
  href: 'http://www.layui.com/'
  ,target: '_blank'
  });
 }
 });
 }
 ,offset: function(othis){
 var type = othis.data('type')
 ,text = othis.text();

 layer.open({
 type: 1
 ,offset: type //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset
 ,id: 'LAY_demo'+type //防止重复弹出
 ,content: '<div style="padding: 20px 100px;">'+ text +'</div>'
 ,btn: '关闭全部'
 ,btnAlign: 'c' //按钮居中
 ,shade: 0 //不显示遮罩
 ,yes: function(){
  layer.closeAll();
 }
 });
 }
 };

 $('#LAY_demo .layui-btn').on('click', function(){
 var othis = $(this), method = othis.data('method');
 active[method] ? active[method].call(this, othis) : '';
 });

});
</script>
 </body>
</html>

效果图:

官网弹出层

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

jQuery 行级解析读取XML文件(附源码)

项目中应用jQuery解析读取XML语言配置文件来实现语言的调度。这是jQuery解析读取XML文件功能的测试源码,现拿出来分享。
收藏 0 赞 0 分享

JS 文件本身编码转换 图文教程

JS编码转换,这句话本身就是一句具有二重义的话。通常理解为JS文件里能转换编码的代码,但是,我所碰到的问题并不是这样的,是要解决JS文件本身的编码问题,它是UTF-8编码的还是ANSI编码的?
收藏 0 赞 0 分享

jQuery Ajax之$.get()方法和$.post()方法

load()方法通常用来从Web服务器上获取静态的数据文件,然而这并不能体现Ajax的全部价值。在项目中,如果需要传递一些参数给服务器中的页面,那么可以使用$.get()或者$.post()方法(或者是后面要讲解到的$.ajax方法)。
收藏 0 赞 0 分享

jQuery Ajax之load()方法

jQuery对Ajax操作进行了封装,在jQuery中$.ajax()方法属于最底层的方法,第2层是laod()、$.get()和$.post()方法,第3层是$.getScript()和$.getJSON()方法。
收藏 0 赞 0 分享

JavaScript 核心参考教程 内置对象

JavaScript 是根据 "ECMAScript"标准制定的网页脚本语言。这个标准由 ECMA 组织发展和维护。ECMA-262 是正式的 JavaScript 标准。
收藏 0 赞 0 分享

JavaScript 核心参考教程 RegExp对象

JavaScript 核心参考教程RegExp对象,学习正则表达式的朋友可以参考下。
收藏 0 赞 0 分享

javascript hashtable实现代码

javascript中没有像c#,java那样的哈希表(hashtable), 然而,javascript中的Array也只有一些类似于'哈希表'的非常简单功能。
收藏 0 赞 0 分享

百度留言本js 大家可以参考下

百度留言本js 大家可以参考下。
收藏 0 赞 0 分享

javascript 判断某年某月有多少天的实现代码 推荐

以前写网页的时候,经常碰到选择日期的问题,其实就是判断某年某月有多少天。
收藏 0 赞 0 分享

让iframe子窗体取父窗体地址栏参数(querystring)

突然用到,记录一下,对地址栏字符串用正则处理最好,有时间研究一下。 主要是思路。
收藏 0 赞 0 分享
查看更多