欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

layui笔记

程序员文章站 2022-03-02 12:14:54
...

在使用的时候 使用 layui.use 可以进行模块化的加载

AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。
CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。
AMD:提前执行(异步加载:依赖先执行)+延迟执行
CMD:延迟执行(运行到需加载,根据顺序执行)

页面元素

#####布局

offset4 向右偏移

和bootstrap里面的布局差不多 都是使用删格系统 样式自己进行设置就好了

也是通过类名 进行控制 样式

删格系统的样式 写内联的 在新建一个div 进行编写样式

写在外层的div 简直是乱七八糟的

layui的栅格系统 太不成熟了

#####颜色

layui如何自定义模块 并使用 模块的语法是怎么样的

在官网下载包后

使用jq的方法

layui.use(['jquery', ], function(args) {
        var $ = layui.jquery;

    });

其他的模块如何使用jq呢

layui的模块化 这一块 周末再看看 看的头大 头大

“Fn”+“F5” 或者 “Fn”+“F6” 调节电脑的亮度 否则眼睛实在是太痛了

另外 就是 layui引入jq的方法 是使用lay.use进行引入

晚上回去再看看模块化这一块 看官方文档实在是太难以看懂了

layui使用jquery

layui.use(['jquery',], function(args){
var $= layui.jquery;
//……
});

ar now=new Date(); var 当前日期=now.getFullYear()+"-"+now.getMonth()+"-"+now.getDate()+" “+now.getHours()+”:"+now.getMinutes()+"-"+now.getSeconds();

将这个插件里面的全部代码都使用一边 踩踩里面的坑 坑

####layui的内置模块笔记

弹出层

使用layui框架 就不需要单独引入layer和jQuery文件

如果是单独引入的框架 就需要引入jQuery文件

  • 两种用法 一种是直接在layer使用 一种是在layer使用

    • 在layer直接使用

      <script src="layer.js"></script>
      <script>
      layer.msg('hello'); 
      </script>
      
    • 在layui中进行使用

      layui.use('layer', function(){
        var layer = layui.layer;
        
        layer.msg('hello');
      });              
      

      在layui中进行使用 就需要通过 use进行调用

  • 参数的配置

    这个为何报错

    $.post('url', {}, function(str) {
                    layer.open({
                        type: 1,
                        content: str //注意,如果str是object,那么需要字符拼接。
                    });
     });
    
  • 定义自己的样式

    layer.open({
      skin: 'demo-class'
    });
    在style标签里面  加上相关的样式
    body .demo-class .layui-layer-title{background:#c00; color:#fff; border: none;}
    body .demo-class .layui-layer-btn{border-top:1px solid #E9E7E7}
    body .demo-class .layui-layer-btn a{background:#333;}
    body .demo-class .layui-layer-btn .layui-layer-btn1{background:#999;}自定义
    
  • 自定义高宽

area: ['500px', '300px']

offset设置相应的坐标

加入icon图标 进行加入表情

icon: 5

按钮的相关参数也是写在 layer.open 里面进行

layer.open({
            type: 1,
            area: ['400px', '320px'],
            shade: [0.8, '#393D49'],
            title: '新增',
            btnAlign: 'c',
            btn: ['确认', '取消'],
            yes: function(index, layero) {

            },
            btn2: function(index, layero) {},
            cancel: function() {

            }
   });

layer.open可以在里面进行设置相应相应的参数

日期和时间组件文档

定制版

var ins1 = laydate.render({
            elem: '#test1',
            mark: {
                '0-10-14': '生日',
                '0-12-31': '跨年' //每年12月31日
                    ,
                '0-0-10': '工资' //每个月10号
                    ,
                '2017-8-15': '' //具体日期
                    ,
                '2017-8-20': '预发' //如果为空字符,则默认显示数字+徽章
                    ,
                '2017-8-21': '发布'
            },
            done: function(value, date) {
                if (date.year === 2017 && date.month === 8 && date.date === 15) { //点击2017年8月15日,弹出提示语
                    ins1.hint('中国人民抗日战争胜利72周年');
                }
            }
});
为什么没有进行弹出
即时通信

这个稍微关注一下

表单
!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)
数据不能有特殊字符串
if(/(^\_)|(\__)|(\_+$)/.test(value)){
      return '用户名首尾不能出现下划线\'_\'';
    }
    if(/^\d+\d+\d$/.test(value)){
      return '用户名不能全为数字';
    }
  }
  
  //我们既支持上述函数式的方式,也支持下述数组的形式
  //数组的两个值分别代表:[正则匹配、匹配不符时的提示文字]
  ,pass: [
    /^[\S]{6,12}$/
    ,'密码必须6到12位,且不能出现空格'
  ] 

当模块有已经依赖 就不需要进行加载模块了

直接调用就可以了

var $ = layui.jquery;

#####加载jq模块 如果其他模块需要使用

// layui.use(['jquery', 'layer'], function() {
        //     var $ = layui.$ //重点处
        //         ,
        //         layer = layui.layer;

    //     //后面就跟你平时使用jQuery一样
    //     $('body').append('hello jquery');
    // });

使用jq

$.post