layer是一款近年来备受青睐的web弹层组件,她具备全方位的解决方案,致力于服务各水平段的开发人员,您的页面会轻松地拥有丰富友好的操作体验。

Layer的开发手册和下载地址

http://layer.layui.com/api.html

http://layer.layui.com/

Open

基本上是露脸率最高的方法,不管是使用哪种方式创建层,都是走layer.open(),创建任何类型的弹层都会返回一个当前层索引,该网站中的options即是基础参数http://layer.layui.com/api.html#type 例子:

layer.open
({
        type:0,
        content:"成功,喵呜~",
        icon:6,
        closeBtn: 2,
        btn1:function(index){layer.closeAll()},
       end:function(){layer.closeAll()}
});  

CloseAll关闭弹窗

它会销毁掉当前页所有的layer层。当然,如果你也可以指定关闭某个类型的层

layer.closeAll(); //疯狂模式,关闭所有层

layer.closeAll('dialog'); //关闭信息框

layer.closeAll('page'); //关闭所有页面层

layer.closeAll('iframe'); //关闭所有的iframe层

layer.closeAll('loading'); //关闭加载层

layer.closeAll('tips'); //关闭所有的tips层  

var index = parent.layer.getFrameIndex(window.name); //获取窗口索引

//parent.layer.closeAll(index);

parent.layer.closeAll();


Tips小贴士

它拥有和 msg 一样的低调和自觉,而且会智能定位,即灵活地判断它应该出现在哪边。默认是在元素右边弹出

function tips()
{

        layer.tips("想要修改东西,先点击我解除", $("#edit"),
        {
            tips: [1, '#3595CC'],
            time: 4000
        });

        $("#add,#edit,#save,#cut,#remove").mouseover(function ()
        {
            var title = $(this).attr("title");
            layer.tips(title, $(this), {
                tips: [1, '#3595CC'],
            });
        }).mouseleave(function ()
        {
            layer.closeAll('tips');
        })
}

Load加载图

load 默认是不会自动关闭的,因为你一般会在 ajax 回调体中关闭它。

layer.load(0,{
  shade:[0.5,'#fff'],
  time:10 * 1000
})    

Confirm询问框

Confirm 方法是对 Open函数的变形

//询问框
layer.confirm('确认退出吗?', {
    btn: ['确定', '取消'] //按钮
}, function ()
{
    window.location.href = "/index.aspx";
    layer.closeAll();
    //提示层
    layer.msg('正在退出...');
}, function ()
{
    return;
});

Msg

露脸率最高的提示框

layer.msg('玩命提示中');

layer.msg(
'这里放置文本内容',
{
    //这里放置基础参数
    icon: 1, //1为正确图标,2为错误图标
    time: 2000, //2秒关闭(如果不配置,默认是3秒)
    closeBtn:2
},
 function(){
    //这里写end事件
});  

Iframe

最强大的弹出框

layer.open({
    type: 2,
    title: "正在与门店进行亲切会谈",
    shadeClose: true,
    shade: false,
    maxmin: true, //开启最大化最小化按钮
    area: ['400px', '600px'],
    content: "chat.aspx?roomid=" + id
});

IFrame子父窗口交接

var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
parent.layer.closeAll(index);
parent.layer.closeAll();

 居中问题

 $('img').load(function()
{
    //由于模板中存在图片未加载,当layer弹出的时候。宽度计算错误导致不居中,所以我手动居中了
    var widthForWindow = $(window).width();
    var winthForLayer = $(".mylayer").width();
    var myWidth = (widthForWindow - winthForLayer) / 2;
    layer.style(index,{left:myWidth,top:"15%"});
}) 

 模板通常会配合open使用

$("#jifenpeizhi").click(function ()
          {
              layer.closeAll();
              var index =  layer.open
              ({
                  type: 1,
                  title: "积分配置",
                  content: $("#template").html(),
                  btn: 1,
                  shade:0,
                  skin:"jifenpeizhi"
              });

              $("#start,#end").bind("click",function()
              {
                  var id = "#" + $(this).attr("id");
                  laydate({
                      elem: id,
                      format: 'YYYY/MM', // 分隔符可以任意定义,该例子表示只显示年月
                      festival: true, //显示节日
                      choose: function (datas)
                      {
                          //选择日期完毕的回调
                          alert('得到:' + datas);
                      }
                  })
              })

             $(".jifenpeizhi").css({"min-width":"700px" });
              //由于模板中存在图片未加载,当layer弹出的时候。宽度计算错误导致不居中,所以我手动居中了
             var widthForWindow = $(window).width();
             var winthForLayer = $(".jifenpeizhi").width();
             var myWidth = (widthForWindow - winthForLayer) / 2;
             layer.style(index, { left: myWidth, top: "15%" });

          })

 监听ESC关闭所有的layer

  document.onkeydown = function (event)
          {
              var e = event || window.event || arguments.callee.caller.arguments[0];
              var keyCode = e.keyCode || e.which;
              if (keyCode == "27")
              {
                  layer.closeAll();
              }
          }

 手机版

layer.open({ title: '信息', content: '金额必须为正整数',btn:["好的"],yes:function(){layer.closeAll();}  });

load

layer.open({type: });

Layer弹窗组件的更多相关文章

  1. layer弹出层不居中解决方案,layer提示不屏幕居中解决方法,layer弹窗不居中解决方案

    layer弹出层不居中解决方案,layer提示不屏幕居中解决方法,layer弹窗不居中解决方案 >>>>>>>>>>>>> ...

  2. Vue列表组件与弹窗组件示例

    列表组件 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <me ...

  3. Jquery弹窗组件

    下面是写的简单的Jquery弹窗组件 暂不支持animate,只能满足一般的弹窗显示隐藏需求,更多功能后续会完善!网上及jquery组件很多这样的弹窗,但是用别人的感觉心里过不去,所以就随便写写,当做 ...

  4. 百度智能小程序弹窗组件wcPop|智能小程序自定义model弹窗模板

    百度智能小程序自定义弹窗组件wcPop|百度小程序model对话框|智能小程序弹窗界面模板 最近百度也推出了自己的智能小程序,如是就赶紧去试了下,官方提供的api还不是狠完整.而且官方提供的弹窗组件也 ...

  5. 基于JQ的自定义弹窗组件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 微信小程序弹窗组件

    概述 自己封装的一个比较简单微信弹窗小组件,主要就是教会大家对微信小组件的用法和理解,因为微信小程序对组件介绍特别少,所以我就把自己的理解分享给大家 详细 代码下载:http://www.demoda ...

  7. 从零开始徒手撸一个vue的toast弹窗组件

    相信普通的vue组件大家都会写,定义 -> 引入 -> 注册 -> 使用,行云流水,一气呵成,但是如果我们今天是要自定义一个弹窗组件呢? 首先,我们来分析一下弹窗组件的特性(需求): ...

  8. Vue - 简单实现一个命令式弹窗组件

    前言 在日常工作中弹窗组件是很常用的组件,但用得多还是别人的,空闲时间就自己来简单实现一个弹窗组件 涉及知识点:extend.$mount.$el 使用方式: this.$Confirm({ titl ...

  9. uni-app自定义Modal弹窗组件|仿ios、微信弹窗效果

    介绍 uniapp自定义弹窗组件uniPop,基于uni-app开发的自定义模态弹窗|msg信息框|alert对话框|confirm确认框|toast弱提示框 支持多种动画效果.多弹窗类型ios/an ...

随机推荐

  1. Android源码学习之模板方法模式应用

    一.模板方法模式定义 模板方法模式定义: defines the skeleton of an algorithm in a method, deferring some steps to subcl ...

  2. express-8 Handlebars模板引擎(1)

    简介 使用JavaScript生成一些HTML document.write('<h1>Please Don\'t Do This</h1>'); document.write ...

  3. BeanShell用法汇总(部分摘抄至网络)【转】

    说明:本文部分资料摘抄至 来源: http://www.cnblogs.com/puresoul/p/4915350.html 来源: http://www.cnblogs.com/puresoul/ ...

  4. 17243 Huzi酱和他的俄罗斯套娃(贪心)

    时间限制:500MS  内存限制:65535K 提交次数:15 通过次数:4 收入:12 题型: 编程题   语言: C++;C Description Huzi酱是个非常贪玩的人,除了魔方他还喜欢各 ...

  5. Codeforces Round #334 (Div. 2)

    水 A - Uncowed Forces #include <bits/stdc++.h> using namespace std; typedef long long ll; const ...

  6. iOS 注意事项

    1.记得在项目中设置项目文件命名的prefix,避免命名冲突. 2.在适当的位置对属性和方法进行注释,建议利用插件(如VVDocument)提供效率.在给企业看文档时,可以利用(如Doxygen)这种 ...

  7. three.js加入监控

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. UVa1486 Transportation(最小费用最大流)

    题目大概说有n个城市,m条有向边连着它们,每条边都有两个属性一个是ai一个是ci,ai表示运送x单位货物时花费ai*x*x的价钱,ci表示边最多能运送的货物数量(<=5).问从城市1运送k单位货 ...

  9. uva-1339Ancient Cipher

    Ancient Roman empire had a strong government system with various departments, including a secret ser ...

  10. BZOJ2285 : [Sdoi2011]保密

    首先通过分数规划,二分答案$mid$,将每条边边权重置为$t-mid\times s$,用DP求出终点到该点的最短路,若非正则可以更小. 如此可以计算出每个出入口的最小危险值,然后把奇点放在$S$,偶 ...