天天看点

layer.open及父子页面传值

layer.open写法:

layer.open({
			 type: 2,  //类型  2表示iframe层  1:页面层
			  icon:2,
			  area: ['1050px','600px'],//弹出页面的宽 高
			  /*shade: false,*/ //遮罩层透明度,默认false,也可以写数字表示透明程度(如:0.1),数字越大,透明度越低
			  title: "我的标题", //显示标题
			  skin: 'layui-layer-rim', //加上边框
			  content: [ctx+'/test/hello?user.name='+"name"], 
			  //content  是一个url,可以访问后台,如果不想让iframe出现滚动条,这样写content: ['http://baidu.com', 'no']
			
			});
           

layer.open弹出层向父页面元素传值:

var name = "jack";   //子页面的值
parent.$("#sub").val(name);  //传给父页面id为sub的元素
           

layer.open弹出层获取父页面的值:

在弹出层关闭弹窗的方法(如:在弹出层点击某个按钮之后想关闭该弹窗)

var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index); //再执行关闭
           

skin:自定义皮肤

方式一:单个设置

只想某个弹窗的某个样式,如title的样式,高度想要低一点

//第一步:
layer.open({
			 type: 2,  //类型  2表示iframe层  1:页面层
			  
			  area: ['1050px','600px'],//弹出页面的宽 高
			
			  skin: 'myskin', //自定义样式名字:myskin,这个名字可以随意起
			 
			
			});
//第二步:在layer.open所在的页面写css, (.myskin是我们起的样式名字,与上面属性skin的名字相同)
<style type="text/css">
	 body .myskin .layui-layer-title{
		height: 34px;
	}  
</style>
           

注意事项:

自定义单个皮肤时,要注意自定义的css样式写在layer.open方法所在的页面中,格式:‘body’+空格+自定义的class名+空格+'layui-layer-title’的css样式,别忘记写空格,还有自定义class名字要和属性skin中名字保持一致!!!