jquery layer是layUI库的成员,一直致力于为web开发提供动力。作者:贤心
jquery layer弹出层插件支持单击弹出,自动弹出,支持载入iframe,ajax载入,自定义弹出位置,有tip提示功能,太多太多功能还是看演示吧,layer弹出层插件压缩后只有17K,可谓小巧强大。
据不完全统计,截至到2013年12月16号,layer已服务于8000多家web平台。其中包括中国联通、蚂蚁网、卡牌网,八圆包等诸多大中型网站。
与同类弹出层组件相比,layer的优势明显,她尽可能地在以更少的代码展现出更强健的功能。
layer格外注重性能的提升、易用和实用性,正因如此,越来越多的开发者将媚眼投上了小小的layer(已有205410人次关注新版layer)。
当你问及她的兼容时,layer必须告诉你,她兼容了一切浏览器,包括古老的ie6。
jquery layer公开了如此多的接口(api),这使得您可以DIY太多您需要的风格,尤其是页面层模式,意味着必要时您可以完全抛弃layer的现有皮肤,并用你的思维去勾勒她的衣着。而问题在于,我必须中止“王婆卖瓜”的陈述。因为一切的不足或友好,都需要您在使用过程中去发现。
jquery layer弹出层插件更新日志:
2013.12.16:layer-v1.7.0更新。
01、tips层可支持上(0)、右(1)、下(2)、左(3)方向的选择(之前版本只可配置上下或左右),详细使用见API
02、对layer.load()参数做了多重判断,如果你想在loading中附加一些文字的话,您可以这样:layer.load('加载中');如果参数不是一个字符串,它将以一般的loading形式展现。
03、对layer.msg()参数做了多重判断layer.msg(msgText,msgTime,parme,callback),如果parme是一个数字,则将作为msg的图标参数,如果parme是一个函数,则将作为层消失后的end的回调,如果parme是一个object,您可配置{type:图标类型,shade:false//是否遮罩,如果是,不用配置,rate:'top'//弹出的动画类型,具体值见layer.shift的参数说明}
04、layer.shift的rate参数(弹出的动画类型),新增从上、下、左弹出(考虑到实际需求,暂时不提供向右)
05、新增moveType,用于配置拖拽类型,默认空心方块式拖动层,若值设为1,则直接拖动层
06、重新添加fadeIn参数,用于层的渐显
07、优化代码结构。
08、优化tips层(type:4)UI
09、优化loading层(type:3)UI。
【拓展模块】
1.7.0开始增加了一个layer.ext.js,主要是对layer做了一些拓展,您可以按照自己的需求选择引入,同样的,不需要引入css,只需要引入js文件即可。
10、新增prompt层模式,支持普通文本框(0)、密码框(1)、文件框(2)、多行文本框(3),调用:layer.prompt(opations,yes回调, no回调);
11、新增tab层模式,调用:layer.tab();
12、新增layer.closeTips(),用于关闭tips层。
2013.08.30:layer-v1.6.0完成更新。
01、type:2模式的iframe层可弹出任意个数(目前支持弹出任意个数层的有:type:1/type:2)
02、新增layer.area(index,options),用于重定义指定层的宽高、坐标、z-index,该方法仅针对页面层(type:1)和iframe层(type:2)有效;
03、新增关闭所有层的方法layer.closeAll();
04、新增page参数中的url和end参数;url即ajax请求的地址,end是ajax请求页面成功后执行的回调
05、新增dialog中type的-1值,用于控制dialog模式的提示图标是否显示。
06、新增dialog中的5个图标(11-15),目前可配置的有0-15
07、新增layer.index静态属性,用于获取最近一次的索引值
08、新增拖拽时鼠标按键放下后的回调函数:moveEnd:function(){}
09、新增layer.zIndex全局属性,用于获取layer容器中的最大z-index值
10、新增点击当前窗口,当前窗口置顶的方法layer.setTop(layerNow)。一般用在success回调中,layerNow参数即为success回调函数中传过来的参数,即当前layer容器。type:1/type:2多窗口模式时可能非常实用,当需要时,需配置zIndex:layer.zIndex
11、修复弹出tips模式层时,影响页面布局的bug
12、修复ie9,关闭iframe模式层,再重新打开时,iframe页无法获取焦点的bug
13、修复拖拽存在的小bug
14、修复layer.msg的第二个参数(关闭时间)设置为0时,依然2秒关闭的bug
15、调整用于控制页面层模式自适应的layer.autoArea(index);
16、调整用于获取子iframe的layer.getChildFrame(selector, index); index为新增,即对应的iframe层索引,可通过调用的返回值获取。
17、调整用于当前当前iframe层本身索引的layer.getFrameIndex(window.name)。window.name获取当前iframe页的name
18、调整用于控制iframe层本身自适应的layer.iframeAuto(index)方法,如果是在iframe层内部,则可通过var index = layer.getFrameIndex(window.name)得到;若在父页面,则可通过调用iframe层的返回值得到,如var index = $.layer();
2013.06.06:layer-v1.5.2完成更新。
1.5.2对上一版完全兼容,请放心覆盖:
一、去除skin属性,因为page(参数为type:1时)等模式本身就支持自定义皮肤,skin形同虚设。
二、去除fadeIn属性,该属性基本也形同虚设,可有可无,不如无。
三、新增属性moveOut:用于控制层是否允许被拖出可视窗口外,默认false
四、新增属性bgcolor, 用于控制层的背景色,默认白色(#fff),如设置透明,为空即可。
五、修复ie6/7下,iframe层在多次关闭后,再打开,iframe元素焦点无法选中的bug
六、修复ie8及以下浏览器,层区域文字无法选中的问题。
七、layer.js代码结构重写,性能优化
八,核心js文件(layer.min.js)代码量较上一版本减少了1.2KB
2013.04.17:layer-v1.5.1完成更新。
1.5.1对上一版完全兼容,请放心覆盖:
一、摒弃png.js,更合理地处理ie6下png32图片不透明问题。从而让layer组件变得更轻量级。
二、增加ready方法,layer.ready(function(){}); 用于给layer装载完毕才执行响应代码,避免样式未加载等问题的出错。
三、重写tips,增加上下和左右两种状态,支持智能判断方向。
四、经多数用户反馈,去掉了标题栏图标
五、修复ie8及以下浏览器,层区域文字无法选中的问题。
六、核心代码的进一步优化。
2013.02.01:layer-v1.5.0完成更新。
1.5.0对旧版完全兼容,请放心覆盖。不过要格外注意以下更新事项:
一、已放弃LAYER全局对象,统一改成layer,如:layer.close(index)
二、重写拖拽效果,更流畅,性能更佳!
三、新增iframeAuto方法,用于让iframe层自适应,非常实用。layer.iframeAuto(),详见官网实例演示之iframe子父操作
四、属性title可直接传字符串(title:'标题'),避免了之前['标题',true]的臃肿,当然如果不想显示title,仍然要以数组形式配置:['',false]
五、修复在使用jquery1.9后,出现报错的bug(原因是jquery1.9放弃了一些api),目前扔推荐使用jquery1.8或以上版本
六、新增支持seajs模块加载器,配置依赖路径详见layer源代码。无需模块化加载可无视此项
七、修复在ie6下,在回调函数体中执行location.href跳转无效的bug
2012.12.2:layer-v1.4.2完成更新。
1.4.2对旧版(除v0.3及以下)完全兼容,请放心覆盖。此次升级主要如下:
一、新增shadeClose属性,用来控制点击遮罩区域是否关闭层。
二、新增对象layer的autoArea方法,用来处理在层中宽高改变时,重新自适应层宽高。layer.autoArea(index);
三、修复弹出iframe层成功时,加载条不消失的bug
四、修复IE6下,弹出包含的select元素被隐藏的bug
五、修复页面层模式(type=1 时),设置area无效的bug
六、修复offset参数在像素和百分号定位中存在的一些bug
七、对全局对象layer进行了优化,以保证外界不污染CLASS类非公开的属性与方法
八、优化layer.shift()方法,避免了一些潜在的bug
2012.10.12:layer-v1.4.1完成更新。
2012.10.12:layer-v1.4.1完成更新。
1.4.1对1.4完全兼容,请放心覆盖。此次升级主要如下:
一、彻底解决在多层情况下,数据冲突(如回调被重写)的漏洞(基本其它所有同类插件都存在的bug)。
二、代码性能的进一步优化。
三、新增路径配置。由于使用者可能会对js进行合并引入,所以1.4原有的自动获取js当前路径会失效,而您只需要在layer.js或layer.min.js配置下相对路径模式即可。
四、修复使用页面层模式时(type=1),层中的表单无法点击的bug。
五、其它各种小bug的修复。
↓ 查看全文
jquery layer弹出层插件//layer是layUI库的成员-最新评论