博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
layui实现类似于bootstrap的模态框功能
阅读量:5912 次
发布时间:2019-06-19

本文共 5631 字,大约阅读时间需要 18 分钟。

  

  以前习惯了bootstrap的模态框,突然换了layui,想的用layui实现类似于bootstrap的模态框功能。

 

用到了layui的layer模块,例如:

    
Title

 

 

结果:

 

 

 

 

type - 基本层类型:

类型:Number,默认:0layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)。 若你采用layer.open({type: 1})方式调用,则type为必填项(信息框除外)

content - 内容

类型:String/DOM/Array,默认:''

content可传入的值是灵活多变的,不仅可以传入普通的html内容,还可以指定DOM,更可以随着type的不同而不同。譬如:

/!* 如果是页面层 */layer.open({  type: 1,   content: '传入任意的文本或html' //这里content是一个普通的String});layer.open({  type: 1,  content: $('#id') //这里content是一个DOM,注意:最好该元素要存放在body最外层,否则可能被其它的相对元素所影响});//Ajax获取$.post('url', {}, function(str){  layer.open({    type: 1,    content: str //注意,如果str是object,那么需要字符拼接。  });});/!* 如果是iframe层 */layer.open({  type: 2,   content: 'http://sentsin.com' //这里content是一个URL,如果你不想让iframe出现滚动条,你还可以content: ['http://sentsin.com', 'no']}); /!* 如果是用layer.open执行tips层 */layer.open({  type: 4,  content: ['内容', '#id'] //数组第二项即吸附元素选择器或者DOM});

 

 

补充:如果想更好的设置宽度,可以:

layui.use(['layer'],function () {        var layer = layui.layer;        var  width=($(window).width()*0.80);        var height=($(window).height()*0.60);        layer.open({            title:'添加字典',            area: [width+'px', height +'px'],//大小            fix: false, //不固定            maxmin: true,//是否显示最大最小化按钮            shadeClose: false,            shade:0.4,            type:1,            content:$('#addModal')        });    })

 

area:

类型:String/Array,默认:'auto'

在默认状态下,layer是宽高都自适应的,但当你只想定义宽度时,你可以area: '500px',高度仍然是自适应的。当你宽高都要定义时,你可以area: ['500px', '300px']

 

 

 

为了使模态框的高度自适应而且页面过高出现滚动条,可以采用如下配置:

 

//2.打开模态框    var  width=($(window).width()*0.60);    var  top =($(window).height()*0.10);    var index = layer.open({        title:'配置权限',        area: width+'px',//大小定宽,高度自适应        fixed: false, //不固定        maxmin: false,//显示最大最小化按钮        zIndex:1500,//层        offset:top+'px',//定义坐标        scrollbar:true,//显示滚动条        shadeClose: false,//点击外部不关闭        shade:0.4,//阴影        type:1,        content:$('#setPermissionModal')    });    //向页面隐藏index    $("#hidden_setPermission_index").val(index);

 

 

 

 

 

 

 

 

为了实现更好的模态框效果,我们可以设置样式:

HTML:

<%--隐藏打开的index--%>

 

JS:

/*************S         修改字典相关操作************//** * 打开修改字典信息模态框 * @param obj   将修改按钮自己传下来 */function openUpdateDict(obj){    var tr= $(obj).parent().parent();//获取到tr元素    var update_dictionaryid = tr.children("td:eq(0)").children("input:hidden").val();//字典变    var update_dictionaryname = tr.children("td:eq(2)").text();//字典名称    var update_updictionaryname = tr.children("td:eq(3)").text();//上级字典名称    var update_description = tr.children("td:eq(4)").text();//字典描述    var update_isuse = tr.children("td:eq(5)").children("input:hidden").val();//字典状态    $("#update_dictionaryid").val(update_dictionaryid);    $("#update_dictionaryname").val(update_dictionaryname);    $("#update_updictionaryname").val(update_updictionaryname);    $("#update_description").val(update_description);/*    $(".update_isuse").each(function () {       if($(this).val()==update_isuse){           alert($(this).val())           $(this).prop("chcked","checked");       }    });*/    $(".update_isuse:radio").removeAttr("checked");//删除checked属性    $(".update_isuse:radio[value='"+update_isuse+"']").attr("checked", true);    form.render('radio'); //重新渲染radio单选框    var  width=($(window).width()*0.80);    var height=($(window).height()*0.70);    var index = layer.open({        title:'修改字典信息',        area: [width+'px', height +'px'],//大小        fix: true, //不固定        maxmin: true,        zIndex:500,        shadeClose: false,        shade:0.4,        type:1,        content:$('#updateModal')    });    //向页面隐藏index    $("#hidden_update_index").val(index);}//监听修改表单的提交事件layui.use(['layer','form'],function () {    var layer = layui.layer,form = layui.form;    form.on('submit(updateDictionary)', function(data){        $.ajax({            url:contextPath+"/dictionary/updateDict.do",            data:data.field,            type:'post',            datatype:'text',            success:function (response) {                layer.msg(response,{time:1500},function () {                    if("修改成功"==response){                        layer.close($("#hidden_update_index").val()); //关闭当前窗口                        window.location.reload();//刷新页面                    }                });            }        });    });})/*************E         修改字典相关操作************/

 

 

 

关于更多的参数解释参考:

 

转载地址:http://irlpx.baihongyu.com/

你可能感兴趣的文章
深入理解SELinux SEAndroid
查看>>
【转】葬花吟
查看>>
java监听器实现与原理
查看>>
记录微博爬虫遇到问题
查看>>
二次排序
查看>>
递增链表的插入
查看>>
iOS UITapGestureRecognizer手势和UIButton 以及UITabelView点击事件冲突
查看>>
python全栈开发笔记--------条件语句
查看>>
CSS实例:图片导航块
查看>>
val和var和Java
查看>>
前端面试通关指南
查看>>
二进制:位操作运算符
查看>>
[杂记]CodeBlocks下载、安装及设置
查看>>
MySQL查询相关(初级)(全文重点)
查看>>
力扣算法题—074搜索二维矩阵
查看>>
《深入理解Java7核心技术与最佳实践》读书笔记(1.1)---Project Coin介绍
查看>>
OpenGL/GLSL数据传递小记(2.x)(转)
查看>>
Python requests库和pycurl库速度对比
查看>>
《C 程序设计语言》练习1-4
查看>>
GridView动态生成列问题
查看>>