Layui常用内置方法

书读的越多而不加思考,你就会觉得你知道得很多;而当你读书而思考得越多的时候,你就会越清楚地看到,你知道得很少。

导读:本篇文章讲解 Layui常用内置方法,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

1、layui.use

加载模块
方法:layui.use([mods], callback)

参数 mods:如果填写,必须是一个 layui 合法的模块名(不能包含目录)。
从 layui 2.6 开始,若 mods 不填,只传一个 callback 参数,则表示引用所有内置模块。
参数 callback:即为模块加载完毕的回调函数。
从 layui 2.6 开始,该回调会在 html 文档加载完毕后再执行,确保你的代码在任何地方都能对元素进行操作。

//引用指定模块
lay.use(['jquery', 'layer', 'element', 'upload', 'laytpl', 'util', 'contextMenu', 'form', 'dtree'], function () {
    var $ = layui.jquery;
    var layer = layui.layer;
    var element = layui.element;
    var upload = layui.upload;
    var laytpl = layui.laytpl;
    var util = layui.util;
    var contextMenu = layui.contextMenu;
    var form = layui.form;
    var dtree = layui.dtree;
    
  });
//引用所有模块(layui 2.6 开始支持)
layui.use(function(){
...
});
//通过回调的参数得到模块对象
layui.use(['layer', 'laydate', 'table'], function(layer, laydate, table){ 
  //使用 layer
  layer.msg('test');
  
  //使用 laydate
  laydate.render({});  
  
  //使用 table
  table.render({})
});

2、layer.open

function openEditName(name,id,isDir) {
layer.open({
                type: 1,  //可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
                area: ['450px','350px'],
               //title: ['重命名', 'font-size:18px; color:orange;'],//数组第二项可以写任意css样式;如果你不想显示标题栏,你可以title: false 
               title:'重命名',//简洁写法
                content: $("#editRenameModel").html(),
                closeBtn: 2,
                success: function (layero, index) {
                //表单赋值
                form.val("editTreeNodeForm", {
                    "id": id,
                    "name": name,
                    "rename": ""
                });
                //重命名表单提交
                form.on('submit(editTreeNodeBtn)', function (data) {
                    layer.load(2);
                    $.post('/file/updateByName', data.field, function (res) {
                        layer.closeAll('loading');
                        if (res.code === 200) {
                            layer.close(index);
                            layer.msg(res.msg, {icon: 1});        
                        } else {
                            layer.msg(res.msg, {icon: 2});
                        }
                    });
                    return false;
                });
                //重命名表单取消按钮事件
                $('#closeRenameBtn').click(function () {
                    layer.close(index);
                });
            }
           });   
   } 

在这里插入图片描述

3、layer.close

  • 当你想关闭当前页的某个层时
var index = layer.open();
var index = layer.alert();
var index = layer.load();
var index = layer.tips();
  • 正如你看到的,每一种弹层调用方式,都会返回一个index
layer.close(index); //此时你只需要把获得的index,轻轻地赋予layer.close即可
  • 如果你想关闭最新弹出的层,直接获取layer.index即可
layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
  • 当你在iframe页面关闭自身时
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index); //再执行关闭

4、layer.closeAll

如果不想去获取index你只想关闭,那么可以使用closeAll。如果不指向层类型的话,它会销毁掉当前页所有的layer层。当然,如果只想关闭某个类型的层,那么可以:

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

  • layer.closeAll(‘dialog’); //关闭信息框

  • layer.closeAll(‘page’);//关闭所有页面层

  • layer.closeAll(‘iframe’);//关闭所有的iframe层

  • layer.closeAll(‘loading’);//关闭加载层

  • layer.closeAll(‘tips’);//关闭所有的tips层

5、layui.config

全局配置
方法:layui.config(options)
在使用模块之前,全局化配置一些参数

layui.config({
  dir: '/res/layui/' //layui.js 所在目录(如果是 script 单独引入 layui.js,无需设定该参数)一般可无视
  ,version: false //一般用于更新模块缓存,默认不开启。设为 true 即让浏览器不缓存。也可以设为一个固定的值,如:201610
  ,debug: false //用于开启调试模式,默认 false,如果设为 true,则JS模块的节点会保留在页面
  ,base: '' //设定扩展的 layui 模块的所在目录,一般用于外部模块扩展
});
   

6、layer.load

layer 自带三种加载样式,根据传入的值(0~2)自动改变,如果是 0 的话可以不用传。
在这里插入图片描述

  • 样式1
layer.load();
  • 样式2
layer.load(1);
  • 样式3
layer.load(2);
  • 2秒钟后自动关闭
layer.load(0, {time: 2*1000});

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123030.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!