Layui 弹出层组件——layer - CuriousZero
layer是作为Layui【经典模块化前端框架】的一个弹层模块,由于其用户基数较大,所以把layer作为独立组件来维护。
基础参数:
基础参数主要指调用方法时用到的配置项,如:layer.open({content: \’\’})layer.msg(\’\’, {time: 3})等,其中的content和time即是基础参数,以键值形式存在,基础参数可合理应用于任何层类型中,我们不需要所有都去配置,大多数都是可选的。而其中的layer.open、layer.msg就是内置方法。
1、type – 基本层类型
-
类型:Number,默认:0
layer提供了5种层类型。可传入的值有:0(信息框,默认),1(页面层),2(iframe层),3(加载层),4(tips层)。 若采用的是 layer.open({type: 1}) 方式调用,则type为必填项(信息框除外)
2、title – 标题
-
类型:String/Array/Boolean,默认:\’信息\’
title支持三种类型的值,
若传入的是普通的字符串,如title :\’我是标题\’,那么只会改变标题文本;
若还需要自定义标题区域样式,那么可以写title: [\’文本\’, \’font-size:18px;\’],数组第二项可以写任意css样式;
若不想显示标题栏,可以t写 title: false
3、content – 内容
类型:String/DOM/Array,默认:\’\’
content可传入的值是灵活多变的,不仅可以传入普通的html内容,还可以指定DOM,更可以随着type的不同而不同。比如:
1 /!* 2 如果是页面层 3 */ 4 layer.open({ 5 type: 1, 6 content: \'传入任意的文本或html\' //这里content是一个普通的String 7 }); 8 layer.open({ 9 type: 1, 10 content: $(\'#id\') //这里content是一个DOM,注意:最好该元素要存放在body最外层,否则可能被其它的相对元素所影响 11 }); 12 //Ajax获取 13 $.post(\'url\', {}, function(str){ 14 layer.open({ 15 type: 1, 16 content: str //注意,如果str是object,那么需要字符拼接。 17 }); 18 }); 19 /!* 20 如果是iframe层 21 */ 22 layer.open({ 23 type: 2, 24 content: \'http://sentsin.com\' //这里content是一个URL,如果你不想让iframe出现滚动条,你还可以content: [\'http://sentsin.com\', \'no\'] 25 }); 26 /!* 27 如果是用layer.open执行tips层 28 */ 29 layer.open({ 30 type: 4, 31 content: [\'内容\', \'#id\'] //数组第二项即吸附元素选择器或者DOM 32 });
4、area – 宽高
-
类型:String/Array,默认:\’auto\’
在默认状态下,layer是宽高都自适应的,但当你只想定义宽度时,可以area: \’500px\’,高度仍然是自适应的。当你宽高都要定义时,可以area: [\’500px\’, \’300px\’]
5、maxWidth – 最大宽度
-
类型:,默认:360
请注意:只有当area: \’auto\’时,maxWidth的设定才有效。
-