layui(弹出层)

首先引入文件 layui.css  jquery.min.js  layui.js

弹出层

data-method 后面的属性控制是什么弹窗,在js中写方法

<div class="site-demo-button" id="layerDemo" style="margin-bottom: 0;">
        <button data-method="setTop" class="layui-btn">多窗口模式,层叠置顶</button>
        <button data-method="offset" data-type="t" class="layui-btn layui-btn-normal">上弹出</button>
</div>

data-type 属性控制弹窗位置 参考文件http://www.layui.com/doc/modules/layer.html#offset

js

// 模块
layui.use(‘layer‘, function(){ //独立版的layer无需执行这一句
var $ = layui.jquery, layer = layui.layer; //独立版的layer无需执行这一句
  //触发事件
  var active = {
      //这里是data-method的名称
    setTop: function(){
      var that = this;
      //多窗口模式,层叠置顶
      layer.open({
        type: 0 //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)。 若你采用layer.open({type: 1})方式调用,则type为必填项(信息框除外)
        ,title: ‘这是蚊子标题‘
        ,area: [‘500px‘, ‘260px‘]//弹窗大小
        ,shade: 0//背景阴影
        ,maxmin: true
        ,offset: [ //为了演示,随机坐标
          Math.random()*($(window).height()-300)
          ,Math.random()*($(window).width()-390)
        ]
        ,content: ‘<div>aa</div>‘     //内容与type有关,当type为2时 内容只能为地址,当type为1时,可以为id值,在页面中写好div设id,并隐藏。
        ,btn: [‘继续弹出‘, ‘全部关闭‘,‘a‘] //按钮的文字,可以在后面加按钮
        ,yes: function(){//第一个按钮,执行,再次点击弹窗的效果。
          $(that).click();
        }
        ,btn2: function(){//第二个按钮,关闭所有。
          layer.closeAll();
        }

        ,zIndex: layer.zIndex //重点1
        ,success: function(layero){
          layer.setTop(layero); //重点2
          console.log(layero);
        }
      });
    }

    //配置一个透明的询问框
    ,confirmTrans: function(){
      layer.msg(‘大部分参数都是可以公用的<br>合理搭配,展示不一样的风格‘, {
        time: 20000, //20s后自动关闭
        btn: [‘明白了‘, ‘知道了‘, ‘哦‘]
      });
    }

    //示范一个公告层
    ,notice: function(){
      layer.open({
        type: 1
        ,title: false //不显示标题栏
        ,closeBtn: 0                    //是否有右上角的关闭按钮
        ,area: ‘500px;‘//大小
        ,shade: 0.8//背景阴影
        ,id: ‘LAY_layuipro‘ //设定一个id,防止重复弹出
        ,btn: [‘火速围观‘, ‘残忍拒绝‘]
        ,btnAlign: ‘c‘                        //按钮居中
        ,moveOut:true
        ,moveType: 0 //拖拽模式,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‘);        //按钮1增加跳转地址,新开页面打开
          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
         ,moveOut:false
      ,moveType: 0//拖拽模式,0或者1
        ,offset: type //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset
        ,id: ‘layerDemo‘+type //防止重复弹出
        ,content: ‘<div style="padding: 20px 100px;">‘+ text +‘</div>‘
        ,btn: ‘关闭全部‘
        ,btnAlign: ‘c‘ //按钮居中
        ,shade: 0 //不显示遮罩
        ,yes: function(){
          layer.closeAll();
        }
      });
    }
  };

  //一定要写这句话不然不弹窗,给弹窗按钮增加点击事件
$(‘#layerDemo .layui-btn‘).on(‘click‘, function(){
    var othis = $(this), method = othis.data(‘method‘);
    active[method] ? active[method].call(this, othis) : ‘‘;
});

});

日期

原文地址:https://www.cnblogs.com/SSs1995/p/9259519.html

时间: 2024-08-25 12:35:39

layui(弹出层)的相关文章

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,

LAYUI弹出层详解

今天空了学习一下弹出层 还是一步步展示把 首先,layer可以独立使用,也可以通过Layui模块化使用.我个人一直是用的模块化的 所以下面素有的都是基于模块化的. 引入好相关文件就可以开始啦  今天放图片把 试着学一下放图片 1.最简单的弹层,这个弹层的效果其实就是一个加了特效和样式的alert();代码如下: <script>layui.use("layer", function () {var layer = layui.layer;layer.msg("大家

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

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

layUI 几个简单的弹出层

导入控件主题 <link rel="stylesheet" href="dist/themes/default/style.min.css" /> 创建容器 也就是包含jsTree控件的元素,一般使用<div>就可以了. <div id="jstree_demo_div"></div> 引入jQuery jsTree依赖于jQuery,所以需要引入jQuery: <script src=&qu

权限管理系统之LayUI实现页面增删改查和弹出层交互

由于对LayUI框架不太熟悉,昨天抽空看了下LayUI的文档,今天在网上找了使用LayUI进行增删改查相关内容,自己照葫芦画了个瓢,画瓢部分不是很难,主要是下午遇到了一个弹出层的问题耗时比较久. 同一项目,设计风格都差不多,对于涉及单个数据表的页面,基本都是增删改查,布局都是差不多,实际项目中都是复制.粘贴过来改下数据基本就能完成80%,后续就是修修补补或者是要实现一些特殊需求,记得刚参加工作时,老大直接给了一个已经做好的模板页面让我比对着手动敲一遍,当时觉得重复操作没啥用,现在再看觉得作用很大

弹出层-layui

type 0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层) iframe窗 layer.open({ type: 2, title: '添加文章', shadeClose: false,//点击阴影是否关闭 shade: 0.3,//阴影透明度,false为0,true为1 maxmin: true, //开启最大化最小化按钮 area: ['1200px', '700px'], content: '/System/Article/AddArticle' }) 页面