整理之前项目涉及的一些知识点。
详细版请查阅layer的开发文档:https://www.layui.com/doc/modules/layer.html
1. 引入layer.js
<script src="static/layer/layer.js" type="text/javascript"></script>
2.script编写函数调用,例:
<script type="text/javascript">
function addInfo(){
var url=basePath+"/addInfo.action";
layer.open({
type: 2,
title: '添加信息',
shadeClose: false,
shade: [0.8, '#000'],
area: ['1200px', '600px'],
content: url,
success: function(layero, index){//弹出层回调成功的方法
var body = layer.getChildFrame('body', index);
var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();上面的type是2,所以是iframe
iframeWin.$("#name").val(“222”);//父页面给iframe(弹框)id为name的属性赋值,通常用于弹框回显数据
},
yes: function(index, layero){//确认回调的方法
var name = layero.find("iframe")[0].contentWindow.$("#name").val();//获取iframe(弹框)id为name的属性值,通常用于获取值校验必填
},
cancel: function(index, layero){//关闭回调的方法
if(confirm('确定要关闭么')){ //只有当点击confirm框的确定时,该层才会关闭
layer.close(index)
}
return false;
}
});
}
</script>
注意几个点:
-
参数之前要用英文逗号(,)隔开
-
type: 基本层类型,类型为number,默认为0;可传入值有0(信息框,默认)、1(页面层)、2(iframe层)、3(加载层)、4(tips层)
-
title:标题,类型为string/Array/Boolean,默认为"信息",若你想丁文标题文本和样式: title: ['文本', 'font-size:18px;'] ;不想显示标题栏: title: false
-
shadeClose:是否点击遮罩关闭,默认是false
-
content : 内容,类型为String/DOM/Array,默认为‘’,示例传的url,如果不想出现滚动条,可以用 content: ['http://sentsin.com', 'no']
-
shade:遮罩,类型为String/Array/Boolean,默认为0.3,示例中shade: [0.8, '#000']的第二个参数为颜色
-
area:宽高,类型为String/Array,默认为'auto',在默认状态下,layer是宽高都自适应的
-
回调方法注意参数列表顺序!success 和 yes 、cancel的参数顺序不一样!