1.layui结构

├─css //css目录
      │  │─modules //模块css目录(一般如果模块相对较大,我们会单独提取,比如下面三个:)
      │  │  ├─laydate
      │  │  ├─layer
      │  │  └─layim
      │  └─layui.css //核心样式文件
      ├─font  //字体图标目录
      ├─images //图片资源目录(目前只有layim和编辑器用到的GIF表情)
      │─lay //模块核心目录
      │  └─modules //各模块组件
      │─layui.js //基础核心库
      └─layui.all.js //包含layui.js和所有模块的合并文件

2.layui弹层

我们也可以通过访问Layer来获取,获取到layer组件后导入项目中。具体步骤结构参考下图:
1.在页面中引入jQuery框架
2.将下载的layer文件夹完整复制到项目中
3.引入layer目录下的layer.js文件
4.开启layer弹层之旅

这里写图片描述

<!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
      <title>layer弹层之美</title>
      <script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>
      <script type="text/javascript" src="layer/layer.js" ></script>
    </head>
    <script type="text/javascript">
          $(function(){
     
            $("#btn").click(function(){
                 //询问框
                            layer.confirm('您是如何看待前端开发?', {
                              btn: ['重要','奇葩'] //按钮
                            }, function(){
                              layer.msg('的确很重要', {icon: 1});
                            }, function(){
                              layer.msg('也可以这样', {
                                time: 20000, //20s后自动关闭
                                btn: ['明白了', '知道了']
                              });
                            });
            })
          })
    </script>
    <body>
        <input type="button" value="提交" id="btn"/>
    </body>
    </html>

layer.alert('内容')
    //第三方扩展皮肤
    layer.alert('内容', {
      icon: 1,
      skin: 'layer-ext-moon' //该皮肤由layer.seaning.com友情扩展。关于皮肤的扩展规则,去这里查阅
    })
    //询问框
    layer.confirm('您是如何看待前端开发?', {
      btn: ['重要','奇葩'] //按钮
    }, function(){
      layer.msg('的确很重要', {icon: 1});
    }, function(){
      layer.msg('也可以这样', {
        time: 20000, //20s后自动关闭
        btn: ['明白了', '知道了']
      });
    });
    //提示层
    layer.msg('玩命提示中');
    //墨绿深蓝风
    layer.alert('墨绿风格,点击确认看深蓝', {
      skin: 'layui-layer-molv' //样式类名
      ,closeBtn: 0
    }, function(){
      layer.alert('偶吧深蓝style', {
        skin: 'layui-layer-lan'
        ,closeBtn: 0
        ,anim: 4 //动画类型
      });
    });
    //捕获页
    layer.open({
      type: 1,
      shade: false,
      title: false, //不显示标题
      content: $('.layer_notice'), //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
      cancel: function(){
        layer.msg('捕获就是从页面已经存在的元素上,包裹layer的结构', {time: 5000, icon:6});
      }
    });
    //页面层
    layer.open({
      type: 1,
      skin: 'layui-layer-rim', //加上边框
      area: ['420px', '240px'], //宽高
      content: 'html内容'
    });
    //自定页
    layer.open({
      type: 1,
      skin: 'layui-layer-demo', //样式类名
      closeBtn: 0, //不显示关闭按钮
      anim: 2,
      shadeClose: true, //开启遮罩关闭
      content: '内容'
    });
    //tips层
    layer.tips('Hi,我是tips', '吸附元素选择器,如#id');
    //iframe层
    layer.open({
      type: 2,
      title: 'layer mobile页',
      shadeClose: true,
      shade: 0.8,
      area: ['380px', '90%'],
      content: 'mobile/' //iframe的url
    });
    //iframe窗
    layer.open({
      type: 2,
      title: false,
      closeBtn: 0, //不显示关闭按钮
      shade: [0],
      area: ['340px', '215px'],
      offset: 'rb', //右下角弹出
      time: 2000, //2秒后自动关闭
      anim: 2,
      content: ['test/guodu.html', 'no'], //iframe的url,no代表不显示滚动条
      end: function(){ //此处用于演示
        layer.open({
          type: 2,
          title: '很多时候,我们想最大化看,比如像这个页面。',
          shadeClose: true,
          shade: false,
          maxmin: true, //开启最大化最小化按钮
          area: ['893px', '600px'],
          content: '//fly.layui.com/'
        });
      }
    });
    //加载层
    var index = layer.load(0, {shade: false}); //0代表加载的风格,支持0-2
    //loading层
    var index = layer.load(1, {
      shade: [0.1,'#fff'] //0.1透明度的白色背景
    });
    //小tips
    layer.tips('我是另外一个tips,只不过我长得跟之前那位稍有些不一样。', '吸附元素选择器', {
      tips: [1, '#3595CC'],
      time: 4000
    });
    //prompt层
    layer.prompt({title: '输入任何口令,并确认', formType: 1}, function(pass, index){
      layer.close(index);
      layer.prompt({title: '随便写点啥,并确认', formType: 2}, function(text, index){
        layer.close(index);
        layer.msg('演示完毕!您的口令:'+ pass +'<br>您最后写下了:'+text);
      });
    });
    //tab层
    layer.tab({
      area: ['600px', '300px'],
      tab: [{
        title: 'TAB1',
        content: '内容1'
      }, {
        title: 'TAB2',
        content: '内容2'
      }, {
        title: 'TAB3',
        content: '内容3'
      }]
    });
    //相册层
    $.getJSON('test/photos.json?v='+new Date, function(json){
      layer.photos({
        photos: json //格式见API文档手册页
        ,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机
      });
    });

3.layui常用按钮

Layui的按钮有多种样式可供选择,但是无论使用哪种样式的按钮时,都必须在该html标签中加上一个名为layui-btn的class名。其次再添加你需要使用的按钮样式所对应的的class名。
各按钮样式class名,按照主题可分为:
原始(layui-btn-primary)background-color:#009688;
默认(layui-btn)background-color:#009688;
百搭(layui-btn-normal)background-color:#1E9FFF;
暖色(layui-btn-warm)background-color:#F7B824;
警告(layui-btn-danger)background-color:#FF5722;
禁用(layui-btn-disabled)background-color:#FBFBFB;

按钮的默认样式(layui-btn)在layui.css中的第370行至384行:

.layui-btn {
        display: inline-block;
        height: 38px;
        line-height: 38px;
        padding: 0 18px;
        background-color: #009688;
        color: #fff;
        white-space: nowrap;
        text-align: center;
        border: none;
        border-radius: 2px;
        cursor: pointer;
        opacity: .9;
        filter: alpha(opacity=90)
    }

圆角(layui-btn-radius)
大按钮(layui-btn-big)
小按钮(layui-btn-small)
迷你按钮(layui-btn-mini)
4.表单元素

<!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>layui.form小例子</title>
    <link rel="stylesheet" href="layui/css/layui.css" media="all">
    </head>
    <body>
    <form class="layui-form"> <!-- 提示:如果你不想用form,你可以换成div等任何一个普通元素 -->
      <div class="layui-form-item">
        <label class="layui-form-label">输入框</label>
        <div class="layui-input-block">
          <input type="text" name="" placeholder="请输入" autocomplete="off" class="layui-input">
        </div>
      </div>
      <div class="layui-form-item">
        <label class="layui-form-label">下拉选择框</label>
        <div class="layui-input-block">
          <select name="interest" lay-filter="aihao">
            <option value="0">写作</option>
            <option value="1">阅读</option>
          </select>
        </div>
      </div>
      <div class="layui-form-item">
        <label class="layui-form-label">复选框</label>
        <div class="layui-input-block">
          <input type="checkbox" name="like[write]" title="写作">
          <input type="checkbox" name="like[read]" title="阅读">
        </div>
      </div>
      <div class="layui-form-item">
        <label class="layui-form-label">开关关</label>
        <div class="layui-input-block">
          <input type="checkbox" lay-skin="switch">
        </div>
      </div>
      <div class="layui-form-item">
        <label class="layui-form-label">开关开</label>
        <div class="layui-input-block">
          <input type="checkbox" checked lay-skin="switch">
        </div>
      </div>
      <div class="layui-form-item">
        <label class="layui-form-label">单选框</label>
        <div class="layui-input-block">
          <input type="radio" name="sex" value="0" title="男">
          <input type="radio" name="sex" value="1" title="女" checked>
        </div>
      </div>
      <div class="layui-form-item layui-form-text">
        <label class="layui-form-label">请填写描述</label>
        <div class="layui-input-block">
          <textarea placeholder="请输入内容" class="layui-textarea"></textarea>
        </div>
      </div>
      <div class="layui-form-item">
        <div class="layui-input-block">
          <button class="layui-btn" lay-submit lay-filter="*">立即提交</button>
          <button type="reset" class="layui-btn layui-btn-primary">重置</button>
        </div>
      </div>
      <!-- 更多表单结构排版请移步文档左侧【页面元素-表单】一项阅览 -->
    </form>
    <script src="layui/layui.js"></script>
    <script>
    layui.use('form', function(){
      var form = layui.form;
     
      //各种基于事件的操作,下面会有进一步介绍
    });
    </script>

注:如果需要用 js动态追加一些layui表单元素,必须加如下代码,执行到这一步才会将部分表单元素修饰成功,否则无

layui.use('form', function(){
                    var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
                    form.render();
                });

5.预设元素属性

6.事件监听

form模块在 layui 事件机制中注册了专属事件,所以当你使用layui.onevent()自定义模块事件时,请勿占用form名。form支持的事件如下:
event     描述
select     监听select下拉选择事件
checkbox     监听checkbox复选框勾选事件
switch     监听checkbox复选框开关事件
radio     监听radio单选框事件
submit     监听表单提交事件

默认情况下,事件所监听的是全部的form模块元素,但如果你只想监听某一个元素,使用事件过滤器即可。

form.on('select(test)', function(data){
      console.log(data);
    });

监听radio

form.on('radio(agreeRadioA)', function(data){
                //选择不同意
                if(data.value == 'step11'){
                    $("#approve_divA").slideDown();
                    $("#agreeContentA").val("");
                }else{
                    $("#approve_divA").slideUp();
                }
            });

layui基础总结的更多相关文章

  1. layui基础上的tree菜单动态渲染;

    var layout=[ { title:'脚本对象名称', treeNodes:true, headerClass:'value_col', colClass:'value_col', style: ...

  2. [转载]前端——实用UI组件库

    https://www.cnblogs.com/xuepei/p/7920888.html Angular UI 组件 ngx-bootstrap 是一套Bootstrap 组件 官网:https:/ ...

  3. 【转】前端——实用UI组件库

    Angular UI 组件 ngx-bootstrap 是一套Bootstrap 组件 官网:https://valor-software.com/ngx-bootstrap/#/ github: h ...

  4. 前端——实用UI组件库

    Angular UI 组件 ngx-bootstrap 是一套Bootstrap 组件 官网:https://valor-software.com/ngx-bootstrap/#/ github: h ...

  5. layuiAdmin std v1.x 【iframe版】开发者文档

    layuiAdmin pro v1.x [单页版]开发者文档 layuiAdmin.std(iframe 版) 是完全基于 layui 架构而成的通用型后台管理模板系统,采用传统的 iframe 多页 ...

  6. ASP.net MVC 构建layui管理后台(构造基础仓储)<1>

    本文章为ASP.net MVC 构建layui管理后台,第一篇. 使用EF+ado.net 实体数据模型模式进行底层的数据库连接. 在项目添加一个类库Model 在类库Model上添加一个ado.ne ...

  7. layui数据表格使用(一:基础篇,数据展示、分页组件、表格内嵌表单和图片)

    表格展示神器之一:layui表格 前言:在写后台管理系统中使用最多的就是表格数据展示了,使用表格组件能提高大量的开发效率,目前主流的数据表格组件有bootstrap table.layui table ...

  8. layui弹出层基础参数

    一.type-层类型 类型:Number  默认为0(信息框); 1(页面层),可以在页面添加HTML内容 2(iframe层) 3(加载层)加载时显示的弹出框 4(tips层) 需要绑定ID就不展示 ...

  9. 前端框架layui

    可以了解下jQuery组件layer layui开始使用Layui兼容除IE6/7以外的全部浏览器,并且绝大多数结构支持响应式 弹出层如果你使用的是Layui,那么你直接在官网下载layui框架即可, ...

随机推荐

  1. Create an Azure SQL database in the Azure portal

    Create a SQL database An Azure SQL database is created with a defined set of compute and storage res ...

  2. HackerRank beautiful string

    问题 https://vjudge.net/problem/HackerRank-beautiful-string 给一个字符串S,可以任意取走S中的两个字符从而得到另外一个字符串P,求有多少种不同的 ...

  3. BZOJ4514[Sdoi2016]数字配对——最大费用最大流

    题目描述 有 n 种数字,第 i 种数字是 ai.有 bi 个,权值是 ci. 若两个数字 ai.aj 满足,ai 是 aj 的倍数,且 ai/aj 是一个质数, 那么这两个数字可以配对,并获得 ci ...

  4. Typecho——数据库无法连接问题

    报错 对不起,无法连接数据库,请先检查数据库配置再继续进行安装 解决方案 创建数据库 reate database databaseName; 远程权限 开启远程权限 GRANT ALL PRIVIL ...

  5. 洛谷P1582 倒水题解

    题目 分析 这个题并不难,只是需要仔细思考我们首先可以很轻松的把这个题给疏通一下题意. 1:首先我们最后每个瓶子中装的水一定是一个$2^x$,因为每次都是$2$倍的加,这个应该很好理解. 2:我们要明 ...

  6. re 正则表达式

    简介: 1.一堆带有特殊意思的符号组成的式子它的作用 处理(匹配 查找 替换) 字符串 2.在爬虫中大量使用 其实有框架帮你封装了这些复杂的正则 3.在网站和手机APP注册功能中大量使用,例如判断你的 ...

  7. CH2101 可达性统计(算竞进阶习题)

    拓扑排序+状态压缩 考虑每一个点能够到达的所有点都是与该店相邻的点的后继节点,可知: 令f[u]表示u点可到达的节点个数,f[u]={u}与f[v](u, v)的并集 于是可以利用状态压缩,能够到达的 ...

  8. 用大O记号法测量算法的效率(Algorithm efficiency Asymptotic notation Big O notation)

    为什么要了解算法的效率? 一般来说,编程就是把各种已知的算法代入到自己的代码当中,以此来解决问题.因此,了解各种算法的效率对于我们选择一个合适的算法有很大帮助. 算法的效率由什么确定? 从算法分析的理 ...

  9. 基于FPGA的UART协议实现(通过线性序列机)

    //////////////////2018/10/15 更新源代码: 实现uart这东西其实早就写了,不过不太完善,对于一个完美主义者来说,必须解决掉它. 1.什么是UART?        通用异 ...

  10. 【HDU - 4349】Xiao Ming's Hope

    BUPT2017 wintertraining(15) #8H 题意 求组合数C(n,i),i从0到n,里面有几个奇数. 题解 直接打表的话可能就直接发现规律了. 规律是n的二进制里有几个1,答案就是 ...