layui.layer的简单使用入门

//layui.layer的基本使用

/*
* //相关属性 title : false, //标题 area : ['700px', '450px'], //弹框大小 area : '516px', //宽 icon : 1 //图标,默认皮肤可以传入0-6如果是加载层,可以传入0-2 ,shade : 0.01 //透明度 ,shadeClose: true, //点击遮罩关闭 ,offset : 't' //位置'auto'-默认居中 '100px'-只定义top坐标 ['100px', '50px']-同时定义top、left 't'-顶部 'r'-右边 'b'-底部 'l'-左边 'lt'-左上角 ,zIndex : 19891014 //默认:19891014(贤心生日 0.0) ,btnAlign: 'c' //'l':按钮左对齐 'c':按钮居中对齐 'r':按钮右对齐。默认值,不用设置 fixed : false, //不固定 maxmin : true, //最大化最小化按钮 maxWidth:100 //最大宽度 最大高度,maxHeight 只有当area: 'auto'时才有效 closeBtn: 0, //可通过配置1和2来展示两种风格,0:不显示 scrollbar: false, //屏蔽浏览器滚动条 resize : true, //是否允许拉伸 skin : 'layui-layer-rim', //加上边框'layui-layer-nobg', //没有背景色 anim : 6, //anim: 0 平滑放大。默认,anim: 1 从上掉落,anim: 2 从最底部往上滑入,anim: 3 从左滑入,anim: 4 从左翻滚,anim: 5 渐显,anim: 6 抖动 end : function(){} // 层销毁后触发的回调,无论是确认还是取消,只要层被销毁了,end都会执行,不携带任何参数。 resizing: function(layero){} //监听窗口拉伸动作 layer.full(index); //full()、min()、layer.restore()最大化、最小化、还原 后 layer.setTop(layero) //置顶当前窗口 layer.tab({ //tab层 area: ['600px', '300px'], tab: [{ title: 'TAB1', content: '内容1' }, { title: 'TAB2', content: '内容2' }, { title: 'TAB3', content: '内容3' }] }); layer.photos({ //相册层 photos: '#layer-photos-demo' ,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数) }); */


/******alert测试********/
    var icon_type = 0;
    $("#alert_0").click(function(){
        layer.alert("icon: "+ icon_type +'看过太多的人生指南,都快找不着"北"'

    , { icon : icon_type ,yes : function(index){ icon_type++; if(icon_type>= 7) icon_type = 0; $("#alert_0").click(); }
    ,cancel :
function(index){ //右上角关闭回调 alert("cancel:"+index); } }); });


/******msg测试********/
    $("#msg_0").click(function(){
        layer.msg('消息框测试', {
            time: 0 //0:不自动关闭
            ,btn: ['确定', '取消']
            ,yes: function(index){
                layer.close(index);
                layer.msg('任何一件事,只要心甘情愿并且坚持不懈,总是会变得简单', {
                    icon: 1
                });
            }
            ,btn2:function(index){
                layer.msg("我现在没空,忙着优秀。", {
                    icon: 3
                });
            }
        });
    });



 

    /******tips测试********/
    $("#tips_0").click(function(){
        layer.tips("tips测试", "#tips_0",{
             tips: [1, '#000'],        //方位 1:上,2:右,3:右,4:左,颜色"
             timeout:0,                //多久关闭,0为不自动
             tipsMore: true,        //不销毁之前的
        });
    });
    $("#tips_1").click(function(){
        layer.tips("与其抱怨,不如改变。", "#tips_1",{
             tips: [1, '#000'],
             tipsMore: true,
        });
    });
    $("#tips_2").click(function(){
        layer.tips("人不会苦一辈子,但总会苦一阵子。许多人为了逃避苦一阵子,却苦了一辈子。", "#tips_2", {
             tips: [2, '#666']
        });
    });
    $("#tips_3").click(function(){
        layer.tips("梦想尚未实现,远方尚未抵达,便不要停止奋力奔跑的脚步,努力永远都不晚!", "#tips_3", {
             tips: 3
        });
    });
    $("#tips_4").click(function(){
        layer.tips("别把最好的时光,浪费在无谓的等待与犹豫不决中。", "#tips_4",{
             tips: [4]
        });
    });
    

 

    /******prompt测试********/
    $("#prompt_0").click(function(){
        layer.prompt(function(val, index){
            layer.msg('不要假装很努力,因为结果不会陪你演戏!   得到了'+val);
            layer.close(index);
        });
    });

 

    /******加载层测试********/
    var load_type = 0;
    $("#load_0").click(function(){
        var layer_index = layer.load(load_type);
        layer.tips("load_type:"+load_type, "#load_0");
        load_type++;
        if(load_type>=3){
            load_type = 0;
        }
        //此处演示关闭
        setTimeout(function(){
          //layer.closeAll('loading');    //关闭全部加载层
          layer.close(layer_index);        //关闭指定
        }, 1000);
    });


 

    /******简单集合测试********/
    $("#simple_collect_0").click(function(){
        layer.alert('简单集合测试', {
            time: 0 //0:不自动关闭
            ,area: ['500px', '180px']
            ,btnAlign: 'c'    //按钮居中
            ,btn: ['alert','msg','tips','prompt','load']
            ,yes:function(index){
                layer.alert("一号按钮 alert。很多时候,我们欠缺的不是想法,而是付诸行动的勇气。");
            }
            ,btn2:function(index){
                layer.msg("二号按钮 msg。失败是什么?没有什么,只是更走近成功一步;成功是什么? 就是走过了所有通向失败的路,只剩下一条路,那就是成功的路。");
            }
            ,btn3:function(index){
                layer.tips("三号按钮 tips。树的方向,风决定。人的方向,自己决定。", "#simple_collect_0");
            }
            ,btn4:function(index){
                layer.prompt(function(val, index){
                    layer.msg('四号按钮得到了【'+val+"】。 你想要的,岁月凭什么给你,所有逆袭,都是有备而来,所有光芒,需要时间才能被看到,所有幸运,都是努力埋下的伏笔");
                    layer.close(index);
                });
            }
            ,btn5:function(index){
                //加载层测试
                var layer_index = layer.load(load_type);
                layer.tips("加载层-load_type:"+load_type, "#simple_collect_0");
                load_type++;
                if(load_type>=3){
                    load_type = 0;
                }
                setTimeout(function(){
                  //layer.closeAll('loading');    //关闭全部加载层
                  layer.close(layer_index);        //关闭指定
                }, 1000);
            }
        });
    });





 

    /******************************open*************************/
    /******信息框*******/
    $("#open_0").click(function(){
        layer.open({
             type: 0,
             icon: 0,
             content: '宠辱不惊,闲庭信步'
        });
    });

  

   

    /******如果是页面层*******/
    $("#open_1").click(function(){
        layer.open({
             type: 1,
             icon: 2,
             area: ['600px', '360px'],
             content: '何必等以后,梦想就在当下'
        });
    });

  

 

    /******如果是页面层*******/
    $("#open_1").click(function(){
        layer.open({
             type: 1,
             icon: 2,
             area: ['300px', '160px'],
             content: '<center style="color:#a23">何必等以后,梦想就在当下</center>'
        });
    });
  
  

    $("#open_2").click(function(){
        layer.open({
            type: 1,
            content: $('#refer_outer_open_2') //这里content是一个DOM,注意:最好该元素要存放在body最外层,否则可能被其它的相对元素所影响
        });
    });
  
  

 

    /******如果是iframe层*******/
    $("#open_3").click(function(){
        layer.open({
            title:'type:2, 打开网页,父子层演示',
            type: 2, 
            area: ['1200px','500px'],
            content: ['child.html','yes'] //URL,是否滚动条
        }); 
        
    });

 

 

 

    /******如果是tips*******/
    $("#open_4").click(function(){
        //layer.open执行tips层
        layer.open({
            type: 4,    //tips
            time: 5000,
            content: ['type:4, tips提示。', '#open_4'] //数组第二项即吸附元素选择器或者DOM
        }); 
        
    });
  
  

 

        //4 父子层    child.html
        //注意:parent 是 JS 自带的全局对象,可用于操作父页面
        //父子层演示,file:///访问,console台js报错,需要服务环境运行
        var index = parent.layer.getFrameIndex(window.name); //获取当前窗口索引

        //让层自适应iframe
        $('#auto').on('click', function(){
            $('body').append('当你认为困难的时候,其实就是最接近成功的时候');
            parent.layer.iframeAuto(index);
        });
        //在父层弹出一个层
        $('#new').on('click', function(){
            parent.layer.msg('Hi, man', {shade: 0.3})
        });



    //给父页面传值
        $('#transmit').on('click', function(){
            var val = $('#name').val();
            if(val === '' || undefined === val){
                parent.layer.msg('请填写值');
                return;
            }
            var i = RandomNumBoth(100000,999999);
            parent.$('#parentIframe').text("【"+ val +"】+随机数:"+ i);
            parent.layer.tips('看这里看这里', '#parentIframe', {tips:1,time: 0});
            parent.layer.close(index);
        });



  

     //关闭iframe
        $('#closeIframe').click(function(){
            parent.layer.msg('关闭了子窗口');
            parent.layer.close(index);
        });



 

 

/********************所有代码*************************/

testLayer.html

<!DOCTYPE HTML>
<html>
  <head>
    <title>test layer</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    <!-- 修改相应的js路径 -->
    <script type="text/javascript" src="js/jquery/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="js/layer-v3.1.1/layer.js"></script>
  </head>
  <div id="refer_outer_open_2" style="display:none;margin:10px">
       <h2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;任何事情,都有一个过程,坚持一下,再坚持一下。播种和收获,本来就不在一个季节!</h2>
   </div>
  <body>
  <style>
    .layui-btn {
        display: inline-block;
        vertical-align: middle;
        height: 38px;
        line-height: 38px;
        padding: 0 18px;
        background-color: #009688;
        color: #fff;
        white-space: nowrap;
        text-align: center;
        font-size: 14px;
        border: none;
        border-radius: 2px;
        cursor: pointer;
        -moz-user-select: none;
        -webkit-user-select: none;
        -ms-user-select: none;
    }
  </style>
  
  
   <div>
       <h1>********************layer演示*********************</h1>
   </div>
   
   <div>
       <br />
       <h2>alert演示</h2>
       <button id="alert_0" class="layui-btn">alert_0.alert测试</button>
   </div>
   
    <div>
       <br />
       <h2>msg演示</h2>
       <button id="msg_0" class="layui-btn">msg_0.msg测试</button>
   </div>
   
   <div>
       <br />
       <h2>tips演示</h2>
       <button id="tips_0" class="layui-btn">tips_0.tips提示测试</button>
       <button id="tips_1" class="layui-btn">tips_1.上侧提示</button> 
       <button id="tips_2" class="layui-btn">tips_2.右侧提示</button>
       <button id="tips_3" class="layui-btn">tips_3.下侧提示</button>
       <button id="tips_4" class="layui-btn">tips_4.左侧提示</button>
   </div> 
   
   <div>
       <br />
       <h2>prompt演示</h2>
       <button id="prompt_0" class="layui-btn">prompt_0.prompt提示测试</button>
   </div>
   
    <div>
       <br />
       <h2>load演示</h2>
       <button id="load_0" class="layui-btn">load_0.加载层测试</button>
   </div>
   
    <div>
       <br />
       <h2>简单集合演示</h2>
       <button id="simple_collect_0" class="layui-btn">simple_collect_0.简单集合测试</button>
   </div>
   
   
   <div>
       <br />
       <h2>**********************open演示, 信息框*****************************</h2>
       <button id="open_0" class="layui-btn">open_0.自定义内容 type:0</button>
   </div>
   <div>
       <br />
       <h2>页面层</h2>
       <button id="open_1" class="layui-btn">open_1.自定义内容 type:1</button>
   </div>
   <div>
       <br />
       <h2>引用dom</h2>
       <button id="open_2" class="layui-btn">open_2.引用dom type:1</button>
   </div>
   <div>
       <br />
       <h2>iframe层</h2>
       <button id="open_3" class="layui-btn">open_3.iframe层 type:2</button>
       父子层传值显示:<span id="parentIframe" class="layui-layer-title">值:无</span>
   </div>
   <div>
       <br />
       <h2>tips层</h2>
       <button id="open_4" class="layui-btn">open_4.iframe层 type:4</button>
   </div>
   
   
<script type="text/javascript">
    /**
        //相关属性 
        title    : false,                //标题
        area    : ['700px', '450px'],    //弹框大小
        area    : '516px',                //宽

        icon    : 1                        //图标,默认皮肤可以传入0-6如果是加载层,可以传入0-2
        ,shade    : 0.01                    //透明度
        ,shadeClose: true,                 //点击遮罩关闭
        ,offset    : 't'                    //位置'auto'-默认居中 '100px'-只定义top坐标 ['100px', '50px']-同时定义top、left 't'-顶部 'r'-右边 'b'-底部 'l'-左边 'lt'-左上角
        ,zIndex : 19891014                //默认:19891014(贤心生日 0.0)
        ,btnAlign: 'c'                    //'l':按钮左对齐    'c':按钮居中对齐 'r':按钮右对齐。默认值,不用设置

        fixed    : false,                 //不固定
        maxmin    : true,                    //最大化最小化按钮
        maxWidth:100                     //最大宽度 最大高度,maxHeight 只有当area: 'auto'时才有效
        closeBtn: 0,                    //可通过配置1和2来展示两种风格,0:不显示
        scrollbar: false,                //屏蔽浏览器滚动条
        resize    :    true,                //是否允许拉伸
        skin    : 'layui-layer-rim',     //加上边框'layui-layer-nobg',    //没有背景色
        anim    : 6,                     //anim: 0    平滑放大。默认,anim: 1    从上掉落,anim: 2    从最底部往上滑入,anim: 3    从左滑入,anim: 4    从左翻滚,anim: 5    渐显,anim: 6    抖动
        
        end        :    function(){}        // 层销毁后触发的回调,无论是确认还是取消,只要层被销毁了,end都会执行,不携带任何参数。
        resizing: function(layero){}    //监听窗口拉伸动作

        layer.full(index);                //full()、min()、layer.restore()最大化、最小化、还原 后
        layer.setTop(layero)            //置顶当前窗口
        layer.tab({                        //tab层
          area: ['600px', '300px'],
          tab: [{
            title: 'TAB1', 
            content: '内容1'
          }, {
            title: 'TAB2', 
            content: '内容2'
          }, {
            title: 'TAB3', 
            content: '内容3'
          }]
        });     
        layer.photos({                    //相册层
          photos: '#layer-photos-demo'
          ,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
        }); 
        
    */
    /******alert测试********/
    var icon_type = 0;
    $("#alert_0").click(function(){
        layer.alert("icon: "+ icon_type +'看过太多的人生指南,都快找不着"北"'
    , { icon : icon_type ,yes : function(index){ icon_type++; if(icon_type>= 7) icon_type = 0; $("#alert_0").click(); } 
    ,cancel :
function(index){ //右上角关闭回调 alert("cancel:"+index); } }); }); /******msg测试********/ $("#msg_0").click(function(){ layer.msg('消息框测试', { time: 0 //0:不自动关闭 ,btn: ['确定', '取消'] ,yes: function(index){ layer.close(index); layer.msg('任何一件事,只要心甘情愿并且坚持不懈,总是会变得简单', { icon: 1 }); } ,btn2:function(index){ layer.msg("我现在没空,忙着优秀。", { icon: 3 }); } }); }); /******tips测试********/ $("#tips_0").click(function(){ layer.tips("tips测试", "#tips_0",{ tips: [1, '#000'], //方位 1:上,2:右,3:右,4:左,颜色" timeout:0, //多久关闭,0为不自动 tipsMore: true, //不销毁之前的 }); }); $("#tips_1").click(function(){ layer.tips("与其抱怨,不如改变。", "#tips_1",{ tips: [1, '#000'], tipsMore: true, }); }); $("#tips_2").click(function(){ layer.tips("人不会苦一辈子,但总会苦一阵子。许多人为了逃避苦一阵子,却苦了一辈子。", "#tips_2", { tips: [2, '#666'] }); }); $("#tips_3").click(function(){ layer.tips("梦想尚未实现,远方尚未抵达,便不要停止奋力奔跑的脚步,努力永远都不晚!", "#tips_3", { tips: 3 }); }); $("#tips_4").click(function(){ layer.tips("别把最好的时光,浪费在无谓的等待与犹豫不决中。", "#tips_4",{ tips: [4] }); }); /******prompt测试********/ $("#prompt_0").click(function(){ layer.prompt(function(val, index){ layer.msg('不要假装很努力,因为结果不会陪你演戏! 得到了'+val); layer.close(index); }); }); /******加载层测试********/ var load_type = 0; $("#load_0").click(function(){ var layer_index = layer.load(load_type); layer.tips("load_type:"+load_type, "#load_0"); load_type++; if(load_type>=3){ load_type = 0; } //此处演示关闭 setTimeout(function(){ //layer.closeAll('loading'); //关闭全部加载层 layer.close(layer_index); //关闭指定 }, 1000); }); /******简单集合测试********/ $("#simple_collect_0").click(function(){ layer.alert('简单集合测试', { time: 0 //0:不自动关闭 ,area: ['500px', '180px'] ,btnAlign: 'c' //按钮居中 ,btn: ['alert','msg','tips','prompt','load'] ,yes:function(index){ layer.alert("一号按钮 alert。很多时候,我们欠缺的不是想法,而是付诸行动的勇气。"); } ,btn2:function(index){ layer.msg("二号按钮 msg。失败是什么?没有什么,只是更走近成功一步;成功是什么? 就是走过了所有通向失败的路,只剩下一条路,那就是成功的路。"); } ,btn3:function(index){ layer.tips("三号按钮 tips。树的方向,风决定。人的方向,自己决定。", "#simple_collect_0"); } ,btn4:function(index){ layer.prompt(function(val, index){ layer.msg('四号按钮得到了【'+val+"】。 你想要的,岁月凭什么给你,所有逆袭,都是有备而来,所有光芒,需要时间才能被看到,所有幸运,都是努力埋下的伏笔"); layer.close(index); }); } ,btn5:function(index){ //加载层测试 var layer_index = layer.load(load_type); layer.tips("加载层-load_type:"+load_type, "#simple_collect_0"); load_type++; if(load_type>=3){ load_type = 0; } setTimeout(function(){ //layer.closeAll('loading'); //关闭全部加载层 layer.close(layer_index); //关闭指定 }, 1000); } }); }); /******************************open*************************/ /******信息框*******/ $("#open_0").click(function(){ layer.open({ type: 0, icon: 0, content: '宠辱不惊,闲庭信步' }); }); /******如果是页面层*******/ $("#open_1").click(function(){ layer.open({ type: 1, icon: 2, area: ['300px', '160px'], content: '<center style="color:#a23">何必等以后,梦想就在当下</center>' }); }); $("#open_2").click(function(){ layer.open({ type: 1, content: $('#refer_outer_open_2') //这里content是一个DOM,注意:最好该元素要存放在body最外层,否则可能被其它的相对元素所影响 }); }); /******如果是iframe层*******/ $("#open_3").click(function(){ layer.open({ title:'type:2, 打开网页,父子层演示', type: 2, area: ['1200px','500px'], content: ['child.html','yes'] //URL,是否滚动条 }); }); /******如果是tips*******/ $("#open_4").click(function(){ //layer.open执行tips层 layer.open({ type: 4, //tips time: 5000, content: ['type:4, tips提示。', '#open_4'] //数组第二项即吸附元素选择器或者DOM }); }); </script> </body> </html>

child.html

<!DOCTYPE HTML>
<html>
  <head>
    <title>child</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    <!-- 修改相应的js路径 -->
    <script type="text/javascript" src="js/jquery/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="js/layer-v3.1.1/layer.js"></script>
  </head>
  <div id="refer_outer_open_2" style="display:none;margin:10px">
       <h2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;任何事情,都有一个过程,坚持一下,再坚持一下。播种和收获,本来就不在一个季节!</h2>
   </div>
  <body>
  <style>
    .layui-btn {
        display: inline-block;
        vertical-align: middle;
        height: 38px;
        line-height: 38px;
        padding: 0 18px;
        background-color: #009688;
        color: #fff;
        white-space: nowrap;
        text-align: center;
        font-size: 14px;
        border: none;
        border-radius: 2px;
        cursor: pointer;
        -moz-user-select: none;
        -webkit-user-select: none;
        -ms-user-select: none;
    }
  </style>
  
  
   <div>
       <br />
       <h2>父子层演示,file:///访问报错,需要服务环境运行</h2>
       <button id="alert_0" class="layui-btn">alert测试</button>
   </div>
   
   <div>
       <br />
       <h2>让层自适应iframe</h2>
       <button id="auto" class="layui-btn">让层自适应iframe</button>
   </div>   
   <div>
       <br />
       <h2>在父层弹出一个层</h2>
       <button id="new" class="layui-btn">在父层弹出一个层</button>
   </div>
   
   <div>
       <br />
       <h2>给父页面传值</h2>
       <button id="transmit" class="layui-btn">给父页面传值</button>    值:<input class="layui-input" id="name">
   </div>   
   <div>
       <br />
       <h2>关闭iframe</h2>
       <button id="closeIframe" class="layui-btn">关闭iframe</button>
   </div>
   
   
   
   <!--js-->
   <script type="text/javascript">
        function RandomNumBoth(Min,Max){
            var Range = Max - Min;
            var Rand = Math.random();
            var num = Min + Math.round(Rand * Range); //四舍五入
            return num;

        }
        
        /******alert测试********/
        $("#alert_0").click(function(){
            layer.alert("提示:父子层演示,file:///访问报错,需要服务环境运行", {
                icon: 7
            });
        });
        
        //4 父子层    child.html
        //注意:parent 是 JS 自带的全局对象,可用于操作父页面
        //父子层演示,file:///访问,console台js报错,需要服务环境运行
        var index = parent.layer.getFrameIndex(window.name); //获取当前窗口索引

        //让层自适应iframe
        $('#auto').on('click', function(){
            $('body').append('当你认为困难的时候,其实就是最接近成功的时候');
            parent.layer.iframeAuto(index);
        });
        //在父层弹出一个层
        $('#new').on('click', function(){
            parent.layer.msg('Hi, man', {shade: 0.3})
        });
        //给父页面传值
        $('#transmit').on('click', function(){
            var val = $('#name').val();
            if(val === '' || undefined === val){
                parent.layer.msg('请填写值');
                return;
            }
            var i = RandomNumBoth(100000,999999);
            parent.$('#parentIframe').text("【"+ val +"】+随机数:"+ i);
            parent.layer.tips('看这里看这里', '#parentIframe', {tips:1,time: 0});
            parent.layer.close(index);
        });
        //关闭iframe
        $('#closeIframe').click(function(){
            parent.layer.msg('关闭了子窗口');
            parent.layer.close(index);
        });
        
        
   </script>
  </body>
</html>

 

posted @ 2019-04-26 14:31  微云mis  阅读(2062)  评论(0)    收藏  举报