From 7f3c35ebbb5599bf7831b3d56b7f2e4c77d7f466 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=A4=E5=BF=83?= Date: Mon, 19 May 2014 04:48:40 +0800 Subject: [PATCH 01/17] Initial commit --- README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..d795f4e --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +#layer From af5a738593e22f0749679d7b797251c4e1e95062 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=A4=E5=BF=83?= Date: Sat, 16 Aug 2014 13:52:34 +0800 Subject: [PATCH 02/17] Update README.md --- README.md | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d795f4e..91c210b 100644 --- a/README.md +++ b/README.md @@ -1 +1,45 @@ -#layer + +## 简要 +layer是一款口碑非常不错的web弹层组件,她具备全方位的解决方案,致力于服务各个水平段的开发人员,您的页面会轻松地拥有丰富而友好的操作体验。 + +在与同类弹出层插件的比较中,layer总是能轻易获胜。她尽可能地在以更少的代码展现更强健的功能,且格外注重性能的提升、易用和实用性,正因如此,越来越多的开发者将媚眼投上了layer。layer兼容了包括IE6在内的所有主流浏览器。 她数量可观的接口,使得您可以自定义太多您需要的风格,每一种弹层模式各具特色,皆广受欢迎。当然,这种“王婆卖瓜”的陈述听起来总是有点难受,因此你需要进一步了解她是否真的如你所愿。 + +## 愿景 +致力于打造国内最盛行的弹层组件,为web开发提供强劲动力。 + +## 现状 +从两年前初出茅庐,到后来成为小众组件,再发展到今天,已为数以万计的人所熟知。 +据不完全统计,截至到2014年5月13号,layer已服务于15万多家web平台。 +其中包括: +* [中国联通](http://app.10010.com/) +* [蚂蚁短租](http://www.mayi.com/) +* [phpyun](http://www.phpyun.com/) +* [卡牌网](http://www.kapai.com/) +* [八圆包](http://www.bayuanbao.com/) + + +事实上我们无法获取到更多案例,所以如果您有大型项目也在使用layer,您可以联系作者,以便在layer官网展现,也为您的品牌推广尽一些绵薄之力。 + +## 日志 +【1.8.5更新日志】 +* 新增对title样式的自定义控制 +* 修复layer.prompt多行文本,设置默认值无效的bug + +【1.8.4更新日志】 +* 新增浏览器窗口尺寸改变时的自适应定位 +* 新增属性shift,用于配置动画弹出(需要注意的是,之前的layer.shift()方法将在layer1.9遗弃,用shift属性取代) +* 新增方法layer.title(name, index); 用于动态改变层的标题。 +* 修改弹出层默认初始坐标为垂直左右居中。 +* 开放多个tips,可通过配置tips: {more: true}开启。 +* 进一步完善tips的智能定位。 +* 放弃layer.ready方法,用jQuery的ready取代。 +* 进一步优化内部代码 + +== 拓展模块 == +* layer.prompt支持给表单传入默认值,如layer.prompt({val:'默认'}); 新增yes回调函数第二个参数为索引、第三个参数为表单元素。 +* 相册层新增tab回调函数,用于切换图片时进行相关操作 +* 相册层内部代码优化。 + + +## 备注 +[官网](http://sentsin.com/jquery/layer/)、[更新日志](https://github.com/sentsin/layer/blob/master/Update%20Notes.txt)、[Say交流](http://say.sentsin.com/home-48.html) \ No newline at end of file From fdc578ab4402be2cf7c83cd406fe7ae3a994e4ad Mon Sep 17 00:00:00 2001 From: sentsin Date: Mon, 25 Aug 2014 12:39:50 +0800 Subject: [PATCH 03/17] layer1.8.5 - layer mobile 1.0 --- README.md | 45 ++ demo/demo.html | 109 ++++ extend/layer.ext.js | 365 ++++++++++++ layer.js | 970 ++++++++++++++++++++++++++++++++ layer.min.js | 16 + m/README.md | 14 + m/layer.m.dev.js | 194 +++++++ m/layer.m.js | 2 + m/need/layer.css | 29 + skin/default/icon_ext.png | Bin 0 -> 7677 bytes skin/default/textbg.png | Bin 0 -> 210 bytes skin/default/xubox_ico0.png | Bin 0 -> 32954 bytes skin/default/xubox_loading0.gif | Bin 0 -> 5793 bytes skin/default/xubox_loading1.gif | Bin 0 -> 701 bytes skin/default/xubox_loading2.gif | Bin 0 -> 1787 bytes skin/default/xubox_loading3.gif | Bin 0 -> 2364 bytes skin/default/xubox_title0.png | Bin 0 -> 221 bytes skin/layer.css | 83 +++ skin/layer.ext.css | 45 ++ 19 files changed, 1872 insertions(+) create mode 100644 README.md create mode 100644 demo/demo.html create mode 100644 extend/layer.ext.js create mode 100644 layer.js create mode 100644 layer.min.js create mode 100644 m/README.md create mode 100644 m/layer.m.dev.js create mode 100644 m/layer.m.js create mode 100644 m/need/layer.css create mode 100644 skin/default/icon_ext.png create mode 100644 skin/default/textbg.png create mode 100644 skin/default/xubox_ico0.png create mode 100644 skin/default/xubox_loading0.gif create mode 100644 skin/default/xubox_loading1.gif create mode 100644 skin/default/xubox_loading2.gif create mode 100644 skin/default/xubox_loading3.gif create mode 100644 skin/default/xubox_title0.png create mode 100644 skin/layer.css create mode 100644 skin/layer.ext.css diff --git a/README.md b/README.md new file mode 100644 index 0000000..452ad4f --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ + +## 简要 +layer是一款口碑非常不错的web弹层组件,她具备全方位的解决方案,致力于服务各个水平段的开发人员,您的页面会轻松地拥有丰富而友好的操作体验。 + +在与同类弹出层插件的比较中,layer总是能轻易获胜。她尽可能地在以更少的代码展现更强健的功能,且格外注重性能的提升、易用和实用性,正因如此,越来越多的开发者将媚眼投上了layer。layer兼容了包括IE6在内的所有主流浏览器。 她数量可观的接口,使得您可以自定义太多您需要的风格,每一种弹层模式各具特色,皆广受欢迎。当然,这种“王婆卖瓜”的陈述听起来总是有点难受,因此你需要进一步了解她是否真的如你所愿。 + +## 愿景 +致力于打造国内最盛行的弹层组件,为web开发提供强劲动力。 + +## 现状 +从两年前初出茅庐,到后来成为小众组件,再发展到今天,已为数以万计的人所熟知。 +据不完全统计,截至到2014年5月13号,layer已服务于15万多家web平台。 +其中包括: +* [中国联通](http://app.10010.com/) +* [蚂蚁短租](http://www.mayi.com/) +* [phpyun](http://www.phpyun.com/) +* [卡牌网](http://www.kapai.com/) +* [八圆包](http://www.bayuanbao.com/) + + +事实上我们无法获取到更多案例,所以如果您有大型项目也在使用layer,您可以联系作者,以便在layer官网展现,也为您的品牌推广尽一些绵薄之力。 + +## 日志 +【1.8.5更新日志】 +* 新增对title样式的自定义控制 +* 修复layer.prompt多行文本,设置默认值无效的bug + +【1.8.4更新日志】 +* 新增浏览器窗口尺寸改变时的自适应定位 +* 新增属性shift,用于配置动画弹出(需要注意的是,之前的layer.shift()方法将在layer1.9遗弃,用shift属性取代) +* 新增方法layer.title(name, index); 用于动态改变层的标题。 +* 修改弹出层默认初始坐标为垂直左右居中。 +* 开放多个tips,可通过配置tips: {more: true}开启。 +* 进一步完善tips的智能定位。 +* 放弃layer.ready方法,用jQuery的ready取代。 +* 进一步优化内部代码 + +== 拓展模块 == +* layer.prompt支持给表单传入默认值,如layer.prompt({val:'默认'}); 新增yes回调函数第二个参数为索引、第三个参数为表单元素。 +* 相册层新增tab回调函数,用于切换图片时进行相关操作 +* 相册层内部代码优化。 + + +## 备注 +[官网](http://sentsin.com/jquery/layer/)、[更新日志](https://github.com/sentsin/layer/blob/master/Update%20Notes.txt)、[Say交流](http://say.sentsin.com/home-48.html) \ No newline at end of file diff --git a/demo/demo.html b/demo/demo.html new file mode 100644 index 0000000..54a45c4 --- /dev/null +++ b/demo/demo.html @@ -0,0 +1,109 @@ + + + +layer-更懂你的web弹窗解决方案 + + + + + + +
+
+ @Name:layer-v 弹层组件说明
+ @Author:贤心
+ @Blog:http://sentsin.com
+ @官网:http://sentsin.com/jquery/layer
+
+
+【注意事项】
+一、使用时,请把文件夹layer整个放置在您站点的任何一个目录,只需引入layer.min.js即可,除jQuery外,其它文件无需再引入。
+二、如果您的js引入是通过合并处理或者您不想采用layer自动获取的绝对路径,您需要打开layer.min.js 去配置相对路径url。(默认采用自动获取layer所在的路径)
+三、jquery必须为1.8或1.8以上版本(原因,更小,性能更好,且新版layer使用了部分jq1.8+的特性),下载包里doc文件里有jquery1.9下载地址
+四、更多使用说明与演示(demo),请参见layer官网。
+五、使用时请务必保留来源,请勿用于违反我国法律的web平台。
+六、layer遵循LGPL协议,将永久性提供无偿服务。版权最终解释权:贤心。
+
+
+ +
+

layer1.8相册模块,点击下述图片试试

+
+ layer宣传图 + 我入互联网这五年 + 微摄影 + 三清山 +
+
+ + + + + + + \ No newline at end of file diff --git a/extend/layer.ext.js b/extend/layer.ext.js new file mode 100644 index 0000000..446f35f --- /dev/null +++ b/extend/layer.ext.js @@ -0,0 +1,365 @@ +/** + + @Name: layer拓展类,依赖于layer + @Date: 2014.08.13 + @Author: 贤心 + @Versions:1.8.5-ext + @Api:http://sentsin.com/jquery/layer + @Desc: 本拓展会持续更新 + + */ + +layer.use('skin/layer.ext.css', function(){ + layer.ext && layer.ext(); +}); + + +/** + + 系统prompt + +*/ + +layer.prompt = function(parme, yes, no){ + var log = {}, parme = parme || {}, conf = { + area: ['auto', 'auto'], + offset: [parme.top || '', ''], + title: parme.title || '信息', + dialog: { + btns: 2, + type: -1, + msg: '', + yes: function(index){ + var val = log.prompt.val(); + if(val === ''){ + log.prompt.focus(); + } else if(val.replace(/\s/g, '').length > (parme.length || 1000)) { + layer.tips('最多输入'+ (parme.length || 1000) +'个字数', '#xubox_prompt', 2); + } else { + yes && yes(val, index, log.prompt); + } + + }, no: no + }, success: function(){ + log.prompt = $('#xubox_prompt'); + log.prompt.focus(); + } + }; + if(parme.type === 3){ + conf.dialog.msg = '' + } + return $.layer(conf); +}; + + +/** + + tab层 + +*/ + +layer.tab = function(parme){ + var log = {}, parme = parme || {}, data = parme.data || [], conf = { + type: 1, + border: [0], + area: ['auto', 'auto'], + bgcolor: '', + title: false, + shade : parme.shade, + offset: parme.offset, + move: '.xubox_tabmove', + closeBtn: false, + page: {html: '
'; + }() + +'' + +'
' + +function(){ + var len = data.length, ii = 1, str = ''; + if(len > 0){ + str = ''+ data[0].title +''; + for(; ii < len; ii++){ + str += ''+ data[ii].title +''; + } + } + return str; + }() +'
' + +'
    '+ function(){ + var len = data.length, ii = 1, str = ''; + if(len > 0){ + str = '
  • '+ (data[0].content || 'content未传入') +'
  • '; + for(; ii < len; ii++){ + str += '
  • '+ (data[ii].content || 'content未传入') +'
  • '; + } + } + return str; + }() +'
' + +'X' + +'
' + }, success: function(layerE){ + //切换事件 + var btn = $('.xubox_tabtit').children(), main = $('.xubox_tab_main').children(), close = $('.xubox_tabclose'); + btn.on('click', function(){ + var othis = $(this), index = othis.index(); + othis.addClass('xubox_tabnow').siblings().removeClass('xubox_tabnow'); + main.eq(index).show().siblings().hide(); + }); + //关闭层 + close.on('click', function(){ + layer.close(layerE.attr('times')); + }); + } + }; + return $.layer(conf); +}; + + + +/** + + 相册层 + +*/ + + +layer.photos = function(options){ + options = options || {}; + var log = { + imgIndex: 1, + end: null, + html: $('html') + }, win = $(window), json = options.json, page = options.page; + + if(json){ + var data = json.data; + if(json.status === 1){ + log.imgLen = data.length; + if(data.length > 0){ + log.thissrc = data[json.start].src; + log.pid = data[json.start].pid; + log.imgsname = (json.title || ''); + log.name = data[json.start].name; + log.imgIndex = json.start + 1; + } else { + layer.msg('没有任何图片', 2, 8); + return; + } + + } else { + layer.msg('未请求到数据', 2, 8); + return; + } + } else { + var imgs = $(page.parent).find('img'), nowimg = imgs.eq(page.start); + log.thissrc = (nowimg.attr('layer-img') || nowimg.attr('src')); + log.pid = nowimg.attr('pid'); + log.imgLen = imgs.length; + log.imgsname = (page.title || ''); + log.name = nowimg.attr('alt'); + log.imgIndex = page.start + 1; + } + + var conf = { + type: 1, + border: [0], + area: [(options.html ? 915 : 600) + 'px', 'auto'], + title: false, + shade: [0.9, '#000', true], + shadeClose: true, + offset: ['25px', ''], + bgcolor: '', + page: { + html: '
'+ (log.name || '') +'
'+ function(){ + if(log.imgLen > 1){ + return '' + } else { + return ''; + } + }() +'
'+ log.imgsname +' '+ log.imgIndex +'/'+ log.imgLen +'
'+ function(){ + if(options.html){ + return '
'+ options.html +'
'; + } else { + return ''; + } + }() + }, success: function(layero){ + log.bigimg = layero.find('.xubox_bigimg'); + log.imgsee = log.bigimg.find('.xubox_imgsee'); + log.imgbar = log.imgsee.find('.xubox_imgbar'); + log.imgtit = log.imgbar.find('.xubox_imgtit'); + log.layero = layero; + + var img = log.imgs = log.bigimg.find('img'); + + clearTimeout(log.timerr); + log.timerr = setTimeout(function(){ + $('html').css('overflow', 'hidden').attr('layer-full', log.index); + }, 10); + + img.load(function(){ + log.imgarea = [img.outerWidth(), img.outerHeight()]; + log.resize(layero); + }); + + log.event(); + + }, end: function(){ + layer.closeAll(); + log.end = true; + } + }; + + //一些动作 + log.event = function(){ + log.bigimg.hover(function(){ + log.imgsee.show(); + }, function(){ + log.imgsee.hide(); + }); + + //上一张 + conf.imgprev = function(){ + log.imgIndex--; + if(log.imgIndex < 1){ + log.imgIndex = log.imgLen; + } + log.tabimg(); + }; + log.bigimg.find('.xubox_prev').on('click', function(event){ + event.preventDefault(); + conf.imgprev(); + }); + + //下一张 + conf.imgnext = function(){ + log.imgIndex++; + if(log.imgIndex > log.imgLen){ + log.imgIndex = 1; + } + log.tabimg() + }; + log.bigimg.find('.xubox_next').on('click', function(event){ + event.preventDefault(); + conf.imgnext(); + }); + + //方向键 + $(document).keyup(function(event){ + if(!log.end){ + var code = event.keyCode; + event.preventDefault(); + if(code === 37){ + conf.imgprev(); + } else if(code === 39) { + conf.imgnext(); + } else if(code === 27) { + layer.close(log.index); + } + } + }); + + + log.tabimg = function(){ + var timer, src, pid, name; + log.imgs.removeAttr('style'); + if(json){ + var nowdata = data[log.imgIndex - 1]; + src = nowdata.src; + pid = nowdata.pid; + name = nowdata.name; + } else { + var thisimg = imgs.eq(log.imgIndex - 1); + src = thisimg.attr('layer-img') || thisimg.attr('src'); + pid = thisimg.attr('layer-pid') || ''; + name = thisimg.attr('alt') || ''; + } + log.imgs.attr({ + src: src, + 'layer-pid': pid, + alt: name + }); + log.imgtit.find('em').text(log.imgIndex + '/' + log.imgLen); + log.imgsee.show(); + options.tab && options.tab({pid: pid, name: name}); + } + }; + + //相册响应式 + log.resize = function(layero){ + var relog = {}, wa = [win.width(), win.height()]; + relog.limit = wa[0] - wa[0]/wa[1]*(60*wa[0]/wa[1]); + if(relog.limit < 600){ + relog.limit = 600; + } + var area = [relog.limit, wa[1] > 400 ? wa[1] - 50 : 400]; + area[0] = options.html ? area[0] : (area[0] - 300); + layer.area(log.index, { + width: area[0] + (options.html ? 15 : 0), + height: area[1] + }); + relog.flwidth = area[0] - (options.html ? 300 : 0); + if(log.imgarea[0] > relog.flwidth){ + log.imgs.css({width: relog.flwidth}); + } else { + log.imgs.css({width: log.imgarea[0]}); + } + if(log.imgs.outerHeight() < area[1]){ + log.imgs.css({top: (area[1] - log.imgs.outerHeight())/2}); + } + log.imgs.css({visibility: 'visible'}); + log.bigimg.css({width: relog.flwidth, height: area[1], 'background-color': options.bgcolor}); + if(options.html){ + layero.find('.xubox_intro').css({height: area[1]}); + } + relog = null; + wa = null; + area = null; + }; + + win.on('resize', function(){ + if(log.end){ + return; + } + if(log.timer){ + clearTimeout(log.timer); + } + log.timer = setTimeout(function(){ + log.resize(log.layero); + }, 200); + }); + + log.index = $.layer(conf); + return log.index; +}; + +//获取页面元素包含的所有图片,快捷调用 +layer.photosPage = function(options){ + var log = {}; + log.run = function(index){ + layer.photos({ + html: options.html, + success: options.success, + page: { + title: options.title, + id: options.id, + start: index, + parent: options.parent + } + }); + }; + options = options || {}; + $(options.parent).find('img').each(function(index){ + $(this).on('click', function(){ + log.run(index); + }); + }); +}; diff --git a/layer.js b/layer.js new file mode 100644 index 0000000..4337b47 --- /dev/null +++ b/layer.js @@ -0,0 +1,970 @@ +/**************************************** + + @Name:layer v1.8.5 弹层组件开发版 + @Author:贤心 + @Date:2014-08-13 + @Blog:http://sentsin.com + @Copyright:Sentsin Xu(贤心) + @官网:http://sentsin.com/jquery/layer + + */ + +;!function(window, undefined){ +"use strict"; + +var path = '', //组件存放目录,为空表示自动获取(不用填写host,相对站点的根目录即可)。 + +$, win, ready = { + host: 'http://' + location.host, + getPath: function(){ + var js = document.scripts, jsPath = js[js.length - 1].src; + return path ? ready.host + path : jsPath.substring(0, jsPath.lastIndexOf("/") + 1); + }, + + //五种原始层模式 + type: ['dialog', 'page', 'iframe', 'loading', 'tips'] +}; + +//默认内置方法。 +window.layer = { + v: '1.8.5', + ie6: !-[1,] && !window.XMLHttpRequest, + index: 0, + path: ready.getPath(), + + //载入模块 + use: function(module, callback){ + var i = 0, head = $('head')[0]; + var module = module.replace(/\s/g, ''); + var iscss = /\.css$/.test(module); + var node = document.createElement(iscss ? 'link' : 'script'); + var id = module.replace(/\.|\//g, ''); + if(iscss){ + node.type = 'text/css'; + node.rel = 'stylesheet'; + } + node[iscss ? 'href' : 'src'] = /^http:\/\//.test(module) ? module : layer.path + module; + node.id = id; + if(!$('#'+ id)[0]){ + head.appendChild(node); + } + if(callback){ + if(document.all){ + $(node).ready(callback); + } else { + $(node).load(callback); + } + } + }, + + alert: function(msg, icon, fn, yes){ + var isfn = (typeof fn === 'function'), conf = { + dialog: {msg: msg, type: icon, yes: isfn ? fn : yes}, + area: ['auto', 'auto'] + }; + isfn || (conf.title = fn); + return $.layer(conf); + }, + + confirm: function(msg, yes, fn, no){ + var isfn = (typeof fn === 'function'), conf = { + dialog: {msg: msg, type: 4, btns: 2, yes: yes, no: isfn ? fn : no} + }; + isfn || (conf.title = fn); + return $.layer(conf); + }, + + msg: function(msg, time, parme, end){ + var conf = { + title: false, + closeBtn: false, + time: time === undefined ? 2 : time, + dialog: {msg: (msg === '' || msg === undefined) ? ' ' : msg}, + end: end + }; + if(typeof parme === 'object'){ + conf.dialog.type = parme.type; + conf.shade = parme.shade; + conf.shift = parme.rate; + } else if(typeof parme === 'function') { + conf.end = parme + } else { + conf.dialog.type = parme; + } + return $.layer(conf); + }, + + //加载层快捷引用 + load: function(parme, icon){ + if(typeof parme === 'string'){ + return layer.msg(parme, icon || 0, 16); + } else { + return $.layer({ + time: parme, + loading: {type : icon}, + bgcolor: icon ? '#fff' : '', + shade: icon ? [0.1, '#000'] : [0], + border: (icon === 3 || !icon) ? [0] : [6, 0.3, '#000'], + type : 3, + title : ['',false], + closeBtn : [0 , false] + }); + } + }, + + //tips层快捷引用 + tips: function(html, follow, parme, maxWidth, guide, style){ + var conf = { + type: 4, shade: false, + success: function(layero){ + if(!this.closeBtn){ + layero.find('.xubox_tips').css({'padding-right': 10}); + } + }, + bgcolor:'', tips: {msg: html, follow: follow} + }; + conf.time = typeof parme === 'object' ? parme.time : (parme|0); + parme = parme || {}; + conf.closeBtn = parme.closeBtn || false + conf.maxWidth = parme.maxWidth || maxWidth; + conf.tips.guide = parme.guide || guide; + conf.tips.style = parme.style || style; + conf.tips.more = parme.more; + return $.layer(conf); + } +}; + +//缓存常用字符 +var doms = ['xubox_layer', 'xubox_iframe', '.xubox_title', '.xubox_text', '.xubox_page', '.xubox_main']; + +var Class = function(setings){ + var that = this, config = that.config; + layer.index++; + that.index = layer.index; + that.config = $.extend({} , config , setings); + that.config.dialog = $.extend({}, config.dialog , setings.dialog); + that.config.page = $.extend({}, config.page , setings.page); + that.config.iframe = $.extend({}, config.iframe , setings.iframe); + that.config.loading = $.extend({}, config.loading , setings.loading); + that.config.tips = $.extend({}, config.tips , setings.tips); + that.creat(); +}; + +Class.pt = Class.prototype; + +//默认配置 +Class.pt.config = { + type: 0, + shade: [0.3, '#000'], + fix: true, + move: '.xubox_title', + title: '信息', + offset: ['', '50%'], + area: ['310px', 'auto'], + closeBtn: [0, true], + time: 0, + bgcolor: '#fff', + border: [6, 0.3, '#000'], + zIndex: 19891014, + maxWidth: 400, + dialog: {btns: 1, btn: ['确定','取消'], type : 8, msg: '', yes: function(index){layer.close(index);}, no: function(index){layer.close(index);}}, + page: {dom: '#xulayer', html: '', url: ''}, + iframe: {src: 'http://sentsin.com', scrolling: 'auto'}, + loading: {type: 0}, + tips: {msg: '', follow: '', guide: 0, isGuide: true, style: ['background-color:#FF9900; color:#fff;', '#FF9900']}, + success: function(layer){}, //创建成功后的回调 + close: function(index){ layer.close(index);}, //右上角关闭回调 + end: function(){} //终极销毁回调 +}; + +//容器 +Class.pt.space = function(html){ + var that = this, html = html || '', times = that.index, config = that.config, dialog = config.dialog, + ico = dialog.type === -1 ? '' : '', + frame = [ + '
'+ ico +'' + dialog.msg + '
', + '
'+ html +'
', + '', + '', + '
'+ config.tips.msg +'
' + ], + shade = '' , border = '', zIndex = config.zIndex + times, + shadeStyle = 'z-index:'+ zIndex +'; background-color:'+ config.shade[1] +'; opacity:'+ config.shade[0] +'; filter:alpha(opacity='+ config.shade[0]*100 +');'; + config.shade[0] && (shade = '
'); + + config.zIndex = zIndex; + var title = '', closebtn = '', borderStyle = "z-index:"+ (zIndex-1) +"; background-color: "+ config.border[2] +"; opacity:"+ config.border[1] +"; filter:alpha(opacity="+ config.border[1]*100 +"); top:-"+ config.border[0] +"px; left:-"+ config.border[0] +"px;"; + config.border[0] && (border = '
'); + + if(config.maxmin && (config.type === 1 || config.type === 2) && (!/^\d+%$/.test(config.area[0]) || !/^\d+%$/.test(config.area[1]))){ + closebtn = ''; + } + config.closeBtn[1] && (closebtn += ''); + var titype = typeof config.title === 'object'; + config.title && (title = '
' + (titype ? config.title[0] : config.title) + '
'); + return [shade, + '
' + + '
' + + frame[config.type] + + title + + ''+ closebtn + '' + + '' + + '
'+ border + '
' + ]; +}; + +//创建骨架 +Class.pt.creat = function(){ + var that = this , space = '', config = that.config, dialog = config.dialog, times = that.index; + var page = config.page, body = $("body"), setSpace = function(html){ + var html = html || ''; + space = that.space(html); + body.append($(space[0])); + }; + + switch(config.type){ + case 0: + config.title || (config.area = ['auto','auto']); + $('.xubox_dialog')[0] && layer.close($('.xubox_dialog').parents('.'+ doms[0]).attr('times')); + break; + + case 1: + if(page.html !== ''){ + setSpace('
'+ page.html +'
'); + body.append($(space[1])); + } else if (page.url !== ''){ + setSpace('
'+ page.html +'
'); + body.append($(space[1])); + $.get(page.url, function(datas){ + $('#xuboxPageHtml'+ times).html(datas.toString()); + page.ok && page.ok(datas); + }); + } else { + if($(page.dom).parents(doms[4]).length == 0){ + setSpace(); + $(page.dom).show().wrap($(space[1])); + } else { + return; + } + } + break; + + case 3: + config.title = false; + config.area = ['auto', 'auto']; + config.closeBtn = ['', false]; + $('.xubox_loading')[0] && layer.closeLoad(); + break; + + case 4: + config.title = false; + config.area = ['auto', 'auto']; + config.fix = false; + config.border = [0]; + config.tips.more || layer.closeTips(); + break; + }; + if(config.type !== 1){ + setSpace(); + body.append($(space[1])); + } + + var layerE = that.layerE = $('#'+ doms[0] + times); + + layerE.css({width: config.area[0], height: config.area[1]}); + config.fix || layerE.css({position: 'absolute'}); + + //配置按钮 + if(config.title && (config.type !== 3 || config.type !== 4)){ + var confbtn = config.type === 0 ? dialog : config, layerBtn = layerE.find('.xubox_botton'); + confbtn.btn = config.btn || dialog.btn; + switch(confbtn.btns){ + case 0: + layerBtn.html('').hide(); + break; + case 1: + layerBtn.html(''+ confbtn.btn[0] +''); + break; + case 2: + layerBtn.html(''+ confbtn.btn[0] +'' + ''+ confbtn.btn[1] + ''); + break; + } + } + + if(layerE.css('left') === 'auto'){ + layerE.hide(); + setTimeout(function(){ + layerE.show(); + that.set(times); + }, 500); + }else{ + that.set(times); + } + config.time <= 0 || that.autoclose(); + that.callback(); +}; + +ready.fade = function(obj, time, opa){ + obj.css({opacity: 0}).animate({opacity: opa}, time); +}; + +//计算坐标 +Class.pt.offset = function(){ + var that = this, config = that.config, layerE = that.layerE, laywid = layerE.outerHeight(); + if(config.offset[0] === '' && laywid < win.height()){ + that.offsetTop = (win.height() - laywid - 2*config.border[0])/2; + }else if(config.offset[0].indexOf("px") != -1){ + that.offsetTop = parseFloat(config.offset[0]); + } else { + that.offsetTop = parseFloat(config.offset[0]||0)/100 * win.height(); + } + that.offsetTop = that.offsetTop + config.border[0] + (config.fix ? 0 : win.scrollTop()); + if(config.offset[1].indexOf("px") != -1){ + that.offsetLeft = parseFloat(config.offset[1]) + config.border[0]; + } else { + config.offset[1] = config.offset[1] === '' ? '50%' : config.offset[1]; + if(config.offset[1] === '50%'){ + that.offsetLeft = config.offset[1]; + }else{ + that.offsetLeft = parseFloat(config.offset[1])/100 * win.width() + config.border[0]; + } + }; +}; + +//初始化骨架 +Class.pt.set = function(times){ + var that = this; + var config = that.config; + var dialog = config.dialog; + var page = config.page; + var loading = config.loading; + var layerE = that.layerE; + var layerTitle = layerE.find(doms[2]); + + that.autoArea(times); + + if(config.title){ + if(config.type === 0){ + layer.ie6 && layerTitle.css({width : layerE.outerWidth()}); + } + }else{ + config.type !== 4 && layerE.find('.xubox_close').addClass('xubox_close1'); + }; + + layerE.attr({'type' : ready.type[config.type]}); + that.offset(); + + //判断是否动画弹出 + if(config.type !== 4){ + if(config.shift && !layer.ie6){ + if(typeof config.shift === 'object'){ + that.shift(config.shift[0], config.shift[1]||500, config.shift[2]); + } else { + that.shift(config.shift, 500); + } + } else { + layerE.css({top: that.offsetTop, left: that.offsetLeft}); + } + } + + switch(config.type){ + case 0: + layerE.find(doms[5]).css({'background-color': '#fff'}); + if(config.title){ + layerE.find(doms[3]).css({paddingTop: 18 + layerTitle.outerHeight()}); + }else{ + layerE.find('.xubox_msgico').css({top: 8}); + layerE.find(doms[3]).css({marginTop : 11}); + } + break; + + case 1: + layerE.find(page.dom).addClass('layer_pageContent'); + config.shade[0] && layerE.css({zIndex: config.zIndex + 1}); + config.title && layerE.find(doms[4]).css({top: layerTitle.outerHeight()}); + break; + + case 2: + var iframe = layerE.find('.'+ doms[1]), heg = layerE.height(); + iframe.addClass('xubox_load').css({width: layerE.width()}); + config.title ? iframe.css({top: layerTitle.height(), height: heg - layerTitle.height()}) : iframe.css({top: 0, height : heg}); + layer.ie6 && iframe.attr('src', config.iframe.src); + break; + + case 4: + var layArea = [0, layerE.outerHeight()], fow = $(config.tips.follow), fowo = { + width: fow.outerWidth(), + height: fow.outerHeight(), + top: fow.offset().top, + left: fow.offset().left + }, tipsG = layerE.find('.layerTipsG'); + + config.tips.isGuide || tipsG.remove(); + layerE.outerWidth() > config.maxWidth && layerE.width(config.maxWidth); + + fowo.tipColor = config.tips.style[1]; + layArea[0] = layerE.outerWidth(); + + fowo.autoLeft = function(){ + if(fowo.left + layArea[0] - win.width() > 0){ + fowo.tipLeft = fowo.left + fowo.width - layArea[0]; + tipsG.css({right: 12, left: 'auto'}); + } else { + fowo.tipLeft = fowo.left; + }; + }; + + //辨别tips的方位 + fowo.where = [function(){ //上 + fowo.autoLeft(); + fowo.tipTop = fowo.top - layArea[1] - 10; + tipsG.removeClass('layerTipsB').addClass('layerTipsT').css({'border-right-color': fowo.tipColor}); + }, function(){ //右 + fowo.tipLeft = fowo.left + fowo.width + 10; + fowo.tipTop = fowo.top; + tipsG.removeClass('layerTipsL').addClass('layerTipsR').css({'border-bottom-color': fowo.tipColor}); + }, function(){ //下 + fowo.autoLeft(); + fowo.tipTop = fowo.top + fowo.height + 10; + tipsG.removeClass('layerTipsT').addClass('layerTipsB').css({'border-right-color': fowo.tipColor}); + }, function(){ //左 + fowo.tipLeft = fowo.left - layArea[0] + 10; + fowo.tipTop = fowo.top; + tipsG.removeClass('layerTipsR').addClass('layerTipsL').css({'border-bottom-color': fowo.tipColor}); + }]; + fowo.where[config.tips.guide](); + + /* 8*2为小三角形占据的空间 */ + if(config.tips.guide === 0){ + fowo.top - (win.scrollTop() + layArea[1] + 8*2) < 0 && fowo.where[2](); + } else if(config.tips.guide === 1){ + win.width() - (fowo.left + fowo.width + layArea[0] + 8*2) > 0 || fowo.where[3]() + } else if(config.tips.guide === 2){ + (fowo.top - win.scrollTop() + fowo.height + layArea[1] + 8*2) - win.height() > 0 && fowo.where[0](); + } else if(config.tips.guide === 3){ + layArea[0] + 8*2 - fowo.left > 0 && fowo.where[1]() + } else if(config.tips.guide === 4){ + + } + layerE.css({left: fowo.tipLeft, top: fowo.tipTop}); + break; + }; + + if(config.fadeIn){ + ready.fade(layerE, config.fadeIn, 1); + ready.fade($('#xubox_shade'+ times), config.fadeIn, config.shade[0]); + } + + //坐标自适应浏览器窗口尺寸 + if(config.fix && config.offset[0] === '' && !config.shift){ + win.on('resize', function(){ + layerE.css({top: (win.height() - layerE.outerHeight())/2}); + }); + } + + that.move(); +}; + +//动画进入 +Class.pt.shift = function(type, rate, stop){ + var that = this, config = that.config; + var layerE = that.layerE; + var cutWth = 0, ww = win.width(); + var wh = win.height() + (config.fix ? 0 : win.scrollTop()); + + if(config.offset[1] == '50%' || config.offset[1] == ''){ + cutWth = layerE.outerWidth()/2; + } else { + cutWth = layerE.outerWidth(); + } + + var anim = { + t: {top: that.offsetTop}, + b: {top : wh - layerE.outerHeight() - config.border[0]}, + cl: cutWth + config.border[0], + ct: -layerE.outerHeight(), + cr: ww - cutWth - config.border[0] + }; + + switch(type){ + case 'left-top': + layerE.css({left: anim.cl, top: anim.ct}).animate(anim.t, rate); + break; + case 'top': + layerE.css({top: anim.ct}).animate(anim.t, rate); + break; + case 'right-top': + layerE.css({left: anim.cr, top: anim.ct}).animate(anim.t, rate); + break; + case 'right-bottom': + layerE.css({left: anim.cr, top: wh}).animate(stop ? anim.t : anim.b, rate); + break; + case 'bottom': + layerE.css({top: wh}).animate(stop ? anim.t : anim.b, rate); + break; + case 'left-bottom': + layerE.css({left: anim.cl, top: wh}).animate(stop ? anim.t : anim.b, rate); + break; + case 'left': + layerE.css({left: -layerE.outerWidth()}).animate({left: that.offsetLeft}, rate); + break; + } +}; + +//自适应宽高 +Class.pt.autoArea = function(times){ + var that = this, times = times || that.index, config = that.config, page = config.page; + var layerE = $('#'+ doms[0] + times), layerTitle = layerE.find(doms[2]), layerMian = layerE.find(doms[5]); + var titHeight = config.title ? layerTitle.innerHeight() : 0, outHeight, btnHeight = 0; + if(config.area[0] === 'auto' && layerMian.outerWidth() >= config.maxWidth){ + layerE.css({width : config.maxWidth}); + } + switch(config.type){ + case 0: + var aBtn = layerE.find('.xubox_botton>a'); + outHeight = layerE.find(doms[3]).outerHeight() + 20; + if(aBtn.length > 0){ + btnHeight = aBtn.outerHeight() + 20; + } + break; + case 1: + var layerPage = layerE.find(doms[4]); + outHeight = $(page.dom).outerHeight(); + config.area[0] === 'auto' && layerE.css({width : layerPage.outerWidth()}); + if(page.html !== '' || page.url !== ''){ + outHeight = layerPage.outerHeight(); + } + break; + case 2: + layerE.find('iframe').css({width: layerE.outerWidth(), height: layerE.outerHeight() - (config.title ? layerTitle.innerHeight() : 0)}); + break; + case 3: + var load = layerE.find(".xubox_loading"); + outHeight = load.outerHeight(); + layerMian.css({width: load.width()}); + break; + }; + (config.area[1] === 'auto') && layerMian.css({height: titHeight + outHeight + btnHeight}); + $('#xubox_border' + times).css({width: layerE.outerWidth() + 2*config.border[0] , height: layerE.outerHeight() + 2*config.border[0]}); + (layer.ie6 && config.area[0] !== 'auto') && layerMian.css({width : layerE.outerWidth()}); + (config.offset[1] === '50%' || config.offset[1] == '') && (config.type !== 4) ? layerE.css({marginLeft : -layerE.outerWidth()/2}) : layerE.css({marginLeft : 0}); +}; + +//拖拽层 +Class.pt.move = function(){ + var that = this, config = that.config, conf = { + setY: 0, + moveLayer: function(){ + if(parseInt(conf.layerE.css('margin-left')) == 0){ + var lefts = parseInt(conf.move.css('left')); + }else{ + var lefts = parseInt(conf.move.css('left')) + (-parseInt(conf.layerE.css('margin-left'))) + } + if(conf.layerE.css('position') !== 'fixed'){ + lefts = lefts - conf.layerE.parent().offset().left; + conf.setY = 0 + } + conf.layerE.css({left: lefts, top: parseInt(conf.move.css('top')) - conf.setY}); + } + }; + + var movedom = that.layerE.find(config.move); + config.move && movedom.attr('move','ok'); + config.move ? movedom.css({cursor: 'move'}) : movedom.css({cursor: 'auto'}); + + $(config.move).on('mousedown', function(M){ + M.preventDefault(); + if($(this).attr('move') === 'ok'){ + conf.ismove = true; + conf.layerE = $(this).parents('.'+ doms[0]); + var xx = conf.layerE.offset().left, yy = conf.layerE.offset().top, ww = conf.layerE.width() - 6, hh = conf.layerE.height() - 6; + if(!$('#xubox_moves')[0]){ + $('body').append('
'); + } + conf.move = $('#xubox_moves'); + config.moveType && conf.move.css({opacity: 0}); + + conf.moveX = M.pageX - conf.move.position().left; + conf.moveY = M.pageY - conf.move.position().top; + conf.layerE.css('position') !== 'fixed' || (conf.setY = win.scrollTop()); + } + }); + + $(document).mousemove(function(M){ + if(conf.ismove){ + var offsetX = M.pageX - conf.moveX, offsetY = M.pageY - conf.moveY; + M.preventDefault(); + + //控制元素不被拖出窗口外 + if(!config.moveOut){ + conf.setY = win.scrollTop(); + var setRig = win.width() - conf.move.outerWidth() - config.border[0], setTop = config.border[0] + conf.setY; + offsetX < config.border[0] && (offsetX = config.border[0]); + offsetX > setRig && (offsetX = setRig); + offsetY < setTop && (offsetY = setTop); + offsetY > win.height() - conf.move.outerHeight() - config.border[0] + conf.setY && (offsetY = win.height() - conf.move.outerHeight() - config.border[0] + conf.setY); + } + + conf.move.css({left: offsetX, top: offsetY}); + config.moveType && conf.moveLayer(); + + offsetX = null; + offsetY = null; + setRig = null; + setTop = null + } + }).mouseup(function(){ + try{ + if(conf.ismove){ + conf.moveLayer(); + conf.move.remove(); + } + conf.ismove = false; + }catch(e){ + conf.ismove = false; + } + config.moveEnd && config.moveEnd(); + }); +}; + +//自动关闭layer +Class.pt.autoclose = function(){ + var that = this, time = that.config.time, maxLoad = function(){ + time--; + if(time === 0){ + layer.close(that.index); + clearInterval(that.autotime); + } + }; + that.autotime = setInterval(maxLoad , 1000); +}; + +ready.config = { + end: {} +}; + +Class.pt.callback = function(){ + var that = this, layerE = that.layerE, config = that.config, dialog = config.dialog; + that.openLayer(); + that.config.success(layerE); + layer.ie6 && that.IE6(layerE); + + layerE.find('.xubox_close').on('click', function(){ + config.close(that.index); + layer.close(that.index); + }); + + layerE.find('.xubox_yes').on('click',function(){ + config.yes ? config.yes(that.index) : dialog.yes(that.index); + }); + + layerE.find('.xubox_no').on('click',function(){ + config.no ? config.no(that.index) : dialog.no(that.index); + layer.close(that.index); + }); + + if(that.config.shadeClose){ + $('#xubox_shade'+ that.index).on('click', function(){ + layer.close(that.index); + }); + } + + //最小化 + layerE.find('.xubox_min').on('click', function(){ + layer.min(that.index, config); + config.min && config.min(layerE); + }); + + //全屏/还原 + layerE.find('.xubox_max').on('click', function(){ + if($(this).hasClass('xubox_maxmin')){ + layer.restore(that.index); + config.restore && config.restore(layerE); + } else { + layer.full(that.index, config); + config.full && config.full(layerE); + } + }); + + ready.config.end[that.index] = config.end; +}; + +//恢复select +ready.reselect = function(){ + $.each($('select'), function(index , value){ + var sthis = $(this); + if(!sthis.parents('.'+doms[0])[0]){ + (sthis.attr('layer') == 1 && $('.'+doms[0]).length < 1) && sthis.removeAttr('layer').show(); + } + sthis = null; + }); +}; + +Class.pt.IE6 = function(layerE){ + var that = this; + var _ieTop = layerE.offset().top; + //ie6的固定与相对定位 + if(that.config.fix){ + var ie6Fix = function(){ + layerE.css({top : win.scrollTop() + _ieTop}); + }; + }else{ + var ie6Fix = function(){ + layerE.css({top : _ieTop}); + }; + } + ie6Fix(); + win.scroll(ie6Fix); + + //隐藏select + $.each($('select'), function(index , value){ + var sthis = $(this); + if(!sthis.parents('.'+doms[0])[0]){ + sthis.css('display') == 'none' || sthis.attr({'layer' : '1'}).hide(); + } + sthis = null; + }); +}; + +//给layer对象拓展方法 +Class.pt.openLayer = function(){ + var that = this, layerE = that.layerE; + + //自适应宽高 + layer.autoArea = function(index){ + return that.autoArea(index); + }; + + //兼容旧版出场动画 + layer.shift = function(type, rate, stop){ + that.shift(type, rate, stop); + }; + + //初始化拖拽元素 + layer.setMove = function(){ + return that.move(); + }; + + //置顶当前窗口 + layer.zIndex = that.config.zIndex; + layer.setTop = function(layerNow){ + var setZindex = function(){ + layer.zIndex++; + layerNow.css('z-index', layer.zIndex + 1); + }; + layer.zIndex = parseInt(layerNow[0].style.zIndex); + layerNow.on('mousedown', setZindex); + return layer.zIndex; + }; + +}; + +ready.isauto = function(layero, options, offset){ + options.area[0] === 'auto' && (options.area[0] = layero.outerWidth()); + options.area[1] === 'auto' && (options.area[1] = layero.outerHeight()); + layero.attr({area: options.area + ',' + offset}); + layero.find('.xubox_max').addClass('xubox_maxmin'); +}; + +ready.rescollbar = function(index){ + if(doms.html.attr('layer-full') == index){ + if(doms.html[0].style.removeProperty){ + doms.html[0].style.removeProperty('overflow'); + } else { + doms.html[0].style.removeAttribute('overflow'); + } + doms.html.removeAttr('layer-full'); + } +}; + + +/** + * 集成属性/方法 + **/ + + +//获取page层所在索引 +layer.getIndex = function(selector){ + return $(selector).parents('.'+doms[0]).attr('times'); +}; + +//获取子iframe的DOM +layer.getChildFrame = function(selector, index){ + index = index || $('.'+ doms[1]).parents('.'+doms[0]).attr('times'); + return $('#'+ doms[0] + index).find('.'+ doms[1]).contents().find(selector); +}; + +//得到当前iframe层的索引,子iframe时使用 +layer.getFrameIndex = function(name){ + return $(name ? '#'+ name : '.'+ doms[1]).parents('.'+doms[0]).attr('times'); +}; + +//iframe层自适应宽高 +layer.iframeAuto = function(index){ + index = index || $('.'+ doms[1]).parents('.'+doms[0]).attr('times'); + var heg = layer.getChildFrame('body', index).outerHeight(), + layero = $('#'+ doms[0] + index), tit = layero.find(doms[2]), titHt = 0; + tit && (titHt = tit.height()); + layero.css({height: heg + titHt}); + var bs = -parseInt($('#xubox_border'+ index).css('top')); + $('#xubox_border'+ index).css({height: heg + 2*bs + titHt}); + $('#'+ doms[1] + index).css({height: heg}); +}; + +//重置iframe url +layer.iframeSrc = function(index, url){ + $('#'+ doms[0] + index).find('iframe').attr('src', url); +}; + +//重置层 +layer.area = function(index, options){ + var layero = [$('#'+ doms[0] + index), $('#xubox_border'+ index)], + type = layero[0].attr('type'), main = layero[0].find(doms[5]), + title = layero[0].find(doms[2]); + + if(type === ready.type[1] || type === ready.type[2]){ + layero[0].css(options); + main.css({width: options.width, height: options.height}); + if(type === ready.type[2]){ + var iframe = layero[0].find('iframe'); + iframe.css({width: options.width, height: title ? options.height - title.innerHeight() : options.height}); + } + if(layero[0].css('margin-left') !== '0px') { + options.hasOwnProperty('top') && layero[0].css({top: options.top - (layero[1][0] ? parseFloat(layero[1].css('top')) : 0)}); + options.hasOwnProperty('left') && layero[0].css({left: options.left + layero[0].outerWidth()/2 - (layero[1][0] ? parseFloat(layero[1].css('left')) : 0)}); + layero[0].css({marginLeft : -layero[0].outerWidth()/2}); + } + if(layero[1][0]){ + layero[1].css({ + width: parseFloat(options.width) - 2*parseFloat(layero[1].css('left')), + height: parseFloat(options.height) - 2*parseFloat(layero[1].css('top')) + }); + } + } +}; + +//最小化 +layer.min = function(index, options){ + var layero = $('#'+ doms[0] + index), offset = [layero.position().top, layero.position().left + parseFloat(layero.css('margin-left'))]; + ready.isauto(layero, options, offset); + layer.area(index, {width: 180, height: 35}); + layero.find('.xubox_min').hide(); + layero.attr('type') === 'page' && layero.find(doms[4]).hide(); + ready.rescollbar(index); +}; + +//还原 +layer.restore = function(index){ + var layero = $('#'+ doms[0] + index), area = layero.attr('area').split(','); + var type = layero.attr('type'); + layer.area(index, { + width: parseFloat(area[0]), + height: parseFloat(area[1]), + top: parseFloat(area[2]), + left: parseFloat(area[3]) + }); + layero.find('.xubox_max').removeClass('xubox_maxmin'); + layero.find('.xubox_min').show(); + layero.attr('type') === 'page' && layero.find(doms[4]).show(); + ready.rescollbar(index); +}; + +//全屏 +layer.full = function(index, options){ + var layero = $('#'+ doms[0] + index), borders = options.border[0]*2 || 6, timer; + var offset = [layero.position().top, layero.position().left + parseFloat(layero.css('margin-left'))]; + ready.isauto(layero, options, offset); + if(!doms.html.attr('layer-full')){ + doms.html.css('overflow','hidden').attr('layer-full', index); + } + clearTimeout(timer); + timer = setTimeout(function(){ + layer.area(index, { + top: layero.css('position') === 'fixed' ? 0 : win.scrollTop(), + left: layero.css('position') === 'fixed' ? 0 : win.scrollLeft(), + width: win.width() - borders, + height: win.height() - borders + }); + }, 100); +}; + +//改变title +layer.title = function(name, index){ + var title = $('#'+ doms[0] + (index||layer.index)).find('.xubox_title>em'); + title.html(name); +}; + +//关闭layer总方法 +layer.close = function(index){ + var layero = $('#'+ doms[0] + index), type = layero.attr('type'), shadeNow = $('#xubox_moves, #xubox_shade' + index); + if(!layero[0]){ + return; + } + if(type == ready.type[1]){ + if(layero.find('.xuboxPageHtml')[0]){ + layero[0].innerHTML = ''; + layero.remove(); + }else{ + layero.find('.xubox_setwin,.xubox_close,.xubox_botton,.xubox_title,.xubox_border').remove(); + for(var i = 0 ; i < 3 ; i++){ + layero.find('.layer_pageContent').unwrap().hide(); + } + } + }else{ + layero[0].innerHTML = ''; + layero.remove(); + } + shadeNow.remove(); + layer.ie6 && ready.reselect(); + ready.rescollbar(index); + typeof ready.config.end[index] === 'function' && ready.config.end[index](); + delete ready.config.end[index]; +}; + +//关闭loading层 +layer.closeLoad = function(){ + layer.close($('.xubox_loading').parents('.'+doms[0]).attr('times')); +}; + +//关闭tips层 +layer.closeTips = function(){ + layer.closeAll('tips'); +}; + +//关闭所有层 +layer.closeAll = function(type){ + $.each($('.'+doms[0]), function(){ + var othis = $(this); + var is = type ? (othis.attr('type') === type) : 1; + if(is){ + layer.close(othis.attr('times')); + } + is = null; + }); +}; + +//主入口 +ready.run = function(){ + $ = jQuery; + win = $(window); + doms.html = $('html'); + layer.use('skin/layer.css'); + $.layer = function(deliver){ + var o = new Class(deliver); + return o.index; + }; + (new Image()).src = layer.path + 'skin/default/xubox_ico0.png'; +}; + +var require = '../../init/jquery'; //若采用seajs,需正确配置jquery的相对路径。未用可无视此处。 +if(window.seajs){ + define([require], function(require, exports, module){ + ready.run(); + module.exports = layer; + }); +}else{ + ready.run(); +} + +}(window); \ No newline at end of file diff --git a/layer.min.js b/layer.min.js new file mode 100644 index 0000000..186b2ed --- /dev/null +++ b/layer.min.js @@ -0,0 +1,16 @@ +/**************************************** + + @Name:layer v1.8.5 弹层组件压缩版 + @Author:贤心 + @Date:2014-08-13 + @Blog:http://sentsin.com + @Copyright:Sentsin Xu(贤心) + @官网:http://sentsin.com/jquery/layer + + */ + +;!function(a,b){ +"use strict"; +var d,e,g,h,i, +c="", //组件存放目录,为空表示自动获取(不用填写host,相对站点的根目录即可)。 +f={host:"http://"+location.host,getPath:function(){var a=document.scripts,b=a[a.length-1].src;return c?f.host+c:b.substring(0,b.lastIndexOf("/")+1)},type:["dialog","page","iframe","loading","tips"]};a.layer={v:"1.8.5",ie6:!-[1,]&&!a.XMLHttpRequest,index:0,path:f.getPath(),use:function(a,b){var f,g,h,e=d("head")[0];a=a.replace(/\s/g,""),f=/\.css$/.test(a),g=document.createElement(f?"link":"script"),h=a.replace(/\.|\//g,""),f&&(g.type="text/css",g.rel="stylesheet"),g[f?"href":"src"]=/^http:\/\//.test(a)?a:layer.path+a,g.id=h,d("#"+h)[0]||e.appendChild(g),b&&(document.all?d(g).ready(b):d(g).load(b))},alert:function(a,b,c,e){var f="function"==typeof c,g={dialog:{msg:a,type:b,yes:f?c:e},area:["auto","auto"]};return f||(g.title=c),d.layer(g)},confirm:function(a,b,c,e){var f="function"==typeof c,g={dialog:{msg:a,type:4,btns:2,yes:b,no:f?c:e}};return f||(g.title=c),d.layer(g)},msg:function(a,c,e,f){var g={title:!1,closeBtn:!1,time:c===b?2:c,dialog:{msg:""===a||a===b?" ":a},end:f};return"object"==typeof e?(g.dialog.type=e.type,g.shade=e.shade,g.shift=e.rate):"function"==typeof e?g.end=e:g.dialog.type=e,d.layer(g)},load:function(a,b){return"string"==typeof a?layer.msg(a,b||0,16):d.layer({time:a,loading:{type:b},bgcolor:b?"#fff":"",shade:b?[.1,"#000"]:[0],border:3!==b&&b?[6,.3,"#000"]:[0],type:3,title:["",!1],closeBtn:[0,!1]})},tips:function(a,b,c,e,f,g){var h={type:4,shade:!1,success:function(a){this.closeBtn||a.find(".xubox_tips").css({"padding-right":10})},bgcolor:"",tips:{msg:a,follow:b}};return h.time="object"==typeof c?c.time:0|c,c=c||{},h.closeBtn=c.closeBtn||!1,h.maxWidth=c.maxWidth||e,h.tips.guide=c.guide||f,h.tips.style=c.style||g,h.tips.more=c.more,d.layer(h)}},g=["xubox_layer","xubox_iframe",".xubox_title",".xubox_text",".xubox_page",".xubox_main"],h=function(a){var b=this,c=b.config;layer.index++,b.index=layer.index,b.config=d.extend({},c,a),b.config.dialog=d.extend({},c.dialog,a.dialog),b.config.page=d.extend({},c.page,a.page),b.config.iframe=d.extend({},c.iframe,a.iframe),b.config.loading=d.extend({},c.loading,a.loading),b.config.tips=d.extend({},c.tips,a.tips),b.creat()},h.pt=h.prototype,h.pt.config={type:0,shade:[.3,"#000"],fix:!0,move:".xubox_title",title:"信息",offset:["","50%"],area:["310px","auto"],closeBtn:[0,!0],time:0,bgcolor:"#fff",border:[6,.3,"#000"],zIndex:19891014,maxWidth:400,dialog:{btns:1,btn:["确定","取消"],type:8,msg:"",yes:function(a){layer.close(a)},no:function(a){layer.close(a)}},page:{dom:"#xulayer",html:"",url:""},iframe:{src:"http://sentsin.com",scrolling:"auto"},loading:{type:0},tips:{msg:"",follow:"",guide:0,isGuide:!0,style:["background-color:#FF9900; color:#fff;","#FF9900"]},success:function(){},close:function(a){layer.close(a)},end:function(){}},h.pt.space=function(a){var c,d,e,f,h,i,j,k,l,m,n,o,p,b=this;return a=a||"",c=b.index,d=b.config,e=d.dialog,f=-1===e.type?"":'',h=['
'+f+''+e.msg+"
",'
'+a+"
",'','','
'+d.tips.msg+'
'],i="",j="",k=d.zIndex+c,l="z-index:"+k+"; background-color:"+d.shade[1]+"; opacity:"+d.shade[0]+"; filter:alpha(opacity="+100*d.shade[0]+");",d.shade[0]&&(i='
'),d.zIndex=k,m="",n="",o="z-index:"+(k-1)+"; background-color: "+d.border[2]+"; opacity:"+d.border[1]+"; filter:alpha(opacity="+100*d.border[1]+"); top:-"+d.border[0]+"px; left:-"+d.border[0]+"px;",d.border[0]&&(j='
'),!d.maxmin||1!==d.type&&2!==d.type||/^\d+%$/.test(d.area[0])&&/^\d+%$/.test(d.area[1])||(n=''),d.closeBtn[1]&&(n+=''),p="object"==typeof d.title,d.title&&(m='
'+(p?d.title[0]:d.title)+"
"),[i,'
'+'
'+h[d.type]+m+''+n+""+''+"
"+j+"
"]},h.pt.creat=function(){var k,l,m,a=this,b="",c=a.config,e=c.dialog,f=a.index,h=c.page,i=d("body"),j=function(c){var c=c||"";b=a.space(c),i.append(d(b[0]))};switch(c.type){case 0:c.title||(c.area=["auto","auto"]),d(".xubox_dialog")[0]&&layer.close(d(".xubox_dialog").parents("."+g[0]).attr("times"));break;case 1:if(""!==h.html)j('
'+h.html+"
"),i.append(d(b[1]));else if(""!==h.url)j('
'+h.html+"
"),i.append(d(b[1])),d.get(h.url,function(a){d("#xuboxPageHtml"+f).html(a.toString()),h.ok&&h.ok(a)});else{if(0!=d(h.dom).parents(g[4]).length)return;j(),d(h.dom).show().wrap(d(b[1]))}break;case 3:c.title=!1,c.area=["auto","auto"],c.closeBtn=["",!1],d(".xubox_loading")[0]&&layer.closeLoad();break;case 4:c.title=!1,c.area=["auto","auto"],c.fix=!1,c.border=[0],c.tips.more||layer.closeTips()}if(1!==c.type&&(j(),i.append(d(b[1]))),k=a.layerE=d("#"+g[0]+f),k.css({width:c.area[0],height:c.area[1]}),c.fix||k.css({position:"absolute"}),c.title&&(3!==c.type||4!==c.type))switch(l=0===c.type?e:c,m=k.find(".xubox_botton"),l.btn=c.btn||e.btn,l.btns){case 0:m.html("").hide();break;case 1:m.html(''+l.btn[0]+"");break;case 2:m.html(''+l.btn[0]+""+''+l.btn[1]+"")}"auto"===k.css("left")?(k.hide(),setTimeout(function(){k.show(),a.set(f)},500)):a.set(f),c.time<=0||a.autoclose(),a.callback()},f.fade=function(a,b,c){a.css({opacity:0}).animate({opacity:c},b)},h.pt.offset=function(){var a=this,b=a.config,c=a.layerE,d=c.outerHeight();a.offsetTop=""===b.offset[0]&&dc.maxWidth&&k.width(c.maxWidth),q.tipColor=c.tips.style[1],o[0]=k.outerWidth(),q.autoLeft=function(){q.left+o[0]-e.width()>0?(q.tipLeft=q.left+q.width-o[0],r.css({right:12,left:"auto"})):q.tipLeft=q.left},q.where=[function(){q.autoLeft(),q.tipTop=q.top-o[1]-10,r.removeClass("layerTipsB").addClass("layerTipsT").css({"border-right-color":q.tipColor})},function(){q.tipLeft=q.left+q.width+10,q.tipTop=q.top,r.removeClass("layerTipsL").addClass("layerTipsR").css({"border-bottom-color":q.tipColor})},function(){q.autoLeft(),q.tipTop=q.top+q.height+10,r.removeClass("layerTipsT").addClass("layerTipsB").css({"border-right-color":q.tipColor})},function(){q.tipLeft=q.left-o[0]+10,q.tipTop=q.top,r.removeClass("layerTipsR").addClass("layerTipsL").css({"border-bottom-color":q.tipColor})}],q.where[c.tips.guide](),0===c.tips.guide?q.top-(e.scrollTop()+o[1]+16)<0&&q.where[2]():1===c.tips.guide?e.width()-(q.left+q.width+o[0]+16)>0||q.where[3]():2===c.tips.guide?q.top-e.scrollTop()+q.height+o[1]+16-e.height()>0&&q.where[0]():3===c.tips.guide?o[0]+16-q.left>0&&q.where[1]():4===c.tips.guide,k.css({left:q.tipLeft,top:q.tipTop})}c.fadeIn&&(f.fade(k,c.fadeIn,1),f.fade(d("#xubox_shade"+a),c.fadeIn,c.shade[0])),c.fix&&""===c.offset[0]&&!c.shift&&e.on("resize",function(){k.css({top:(e.height()-k.outerHeight())/2})}),b.move()},h.pt.shift=function(a,b,c){var k,d=this,f=d.config,g=d.layerE,h=0,i=e.width(),j=e.height()+(f.fix?0:e.scrollTop());switch(h="50%"==f.offset[1]||""==f.offset[1]?g.outerWidth()/2:g.outerWidth(),k={t:{top:d.offsetTop},b:{top:j-g.outerHeight()-f.border[0]},cl:h+f.border[0],ct:-g.outerHeight(),cr:i-h-f.border[0]},a){case"left-top":g.css({left:k.cl,top:k.ct}).animate(k.t,b);break;case"top":g.css({top:k.ct}).animate(k.t,b);break;case"right-top":g.css({left:k.cr,top:k.ct}).animate(k.t,b);break;case"right-bottom":g.css({left:k.cr,top:j}).animate(c?k.t:k.b,b);break;case"bottom":g.css({top:j}).animate(c?k.t:k.b,b);break;case"left-bottom":g.css({left:k.cl,top:j}).animate(c?k.t:k.b,b);break;case"left":g.css({left:-g.outerWidth()}).animate({left:d.offsetLeft},b)}},h.pt.autoArea=function(a){var c,e,f,h,i,k,j,l,m,n,o,b=this;switch(a=a||b.index,c=b.config,e=c.page,f=d("#"+g[0]+a),h=f.find(g[2]),i=f.find(g[5]),j=c.title?h.innerHeight():0,l=0,"auto"===c.area[0]&&i.outerWidth()>=c.maxWidth&&f.css({width:c.maxWidth}),c.type){case 0:m=f.find(".xubox_botton>a"),k=f.find(g[3]).outerHeight()+20,m.length>0&&(l=m.outerHeight()+20);break;case 1:n=f.find(g[4]),k=d(e.dom).outerHeight(),"auto"===c.area[0]&&f.css({width:n.outerWidth()}),(""!==e.html||""!==e.url)&&(k=n.outerHeight());break;case 2:f.find("iframe").css({width:f.outerWidth(),height:f.outerHeight()-(c.title?h.innerHeight():0)});break;case 3:o=f.find(".xubox_loading"),k=o.outerHeight(),i.css({width:o.width()})}"auto"===c.area[1]&&i.css({height:j+k+l}),d("#xubox_border"+a).css({width:f.outerWidth()+2*c.border[0],height:f.outerHeight()+2*c.border[0]}),layer.ie6&&"auto"!==c.area[0]&&i.css({width:f.outerWidth()}),"50%"!==c.offset[1]&&""!=c.offset[1]||4===c.type?f.css({marginLeft:0}):f.css({marginLeft:-f.outerWidth()/2})},h.pt.move=function(){var a=this,b=a.config,c={setY:0,moveLayer:function(){var a;a=0==parseInt(c.layerE.css("margin-left"))?parseInt(c.move.css("left")):parseInt(c.move.css("left"))+-parseInt(c.layerE.css("margin-left")),"fixed"!==c.layerE.css("position")&&(a-=c.layerE.parent().offset().left,c.setY=0),c.layerE.css({left:a,top:parseInt(c.move.css("top"))-c.setY})}},f=a.layerE.find(b.move);b.move&&f.attr("move","ok"),b.move?f.css({cursor:"move"}):f.css({cursor:"auto"}),d(b.move).on("mousedown",function(a){if(a.preventDefault(),"ok"===d(this).attr("move")){c.ismove=!0,c.layerE=d(this).parents("."+g[0]);var f=c.layerE.offset().left,h=c.layerE.offset().top,i=c.layerE.width()-6,j=c.layerE.height()-6;d("#xubox_moves")[0]||d("body").append('
'),c.move=d("#xubox_moves"),b.moveType&&c.move.css({opacity:0}),c.moveX=a.pageX-c.move.position().left,c.moveY=a.pageY-c.move.position().top,"fixed"!==c.layerE.css("position")||(c.setY=e.scrollTop())}}),d(document).mousemove(function(a){var d,f,g,h;c.ismove&&(d=a.pageX-c.moveX,f=a.pageY-c.moveY,a.preventDefault(),b.moveOut||(c.setY=e.scrollTop(),g=e.width()-c.move.outerWidth()-b.border[0],h=b.border[0]+c.setY,dg&&(d=g),h>f&&(f=h),f>e.height()-c.move.outerHeight()-b.border[0]+c.setY&&(f=e.height()-c.move.outerHeight()-b.border[0]+c.setY)),c.move.css({left:d,top:f}),b.moveType&&c.moveLayer(),d=null,f=null,g=null,h=null)}).mouseup(function(){try{c.ismove&&(c.moveLayer(),c.move.remove()),c.ismove=!1}catch(a){c.ismove=!1}b.moveEnd&&b.moveEnd()})},h.pt.autoclose=function(){var a=this,b=a.config.time,c=function(){b--,0===b&&(layer.close(a.index),clearInterval(a.autotime))};a.autotime=setInterval(c,1e3)},f.config={end:{}},h.pt.callback=function(){var a=this,b=a.layerE,c=a.config,e=c.dialog;a.openLayer(),a.config.success(b),layer.ie6&&a.IE6(b),b.find(".xubox_close").on("click",function(){c.close(a.index),layer.close(a.index)}),b.find(".xubox_yes").on("click",function(){c.yes?c.yes(a.index):e.yes(a.index)}),b.find(".xubox_no").on("click",function(){c.no?c.no(a.index):e.no(a.index),layer.close(a.index)}),a.config.shadeClose&&d("#xubox_shade"+a.index).on("click",function(){layer.close(a.index)}),b.find(".xubox_min").on("click",function(){layer.min(a.index,c),c.min&&c.min(b)}),b.find(".xubox_max").on("click",function(){d(this).hasClass("xubox_maxmin")?(layer.restore(a.index),c.restore&&c.restore(b)):(layer.full(a.index,c),c.full&&c.full(b))}),f.config.end[a.index]=c.end},f.reselect=function(){d.each(d("select"),function(){var c=d(this);c.parents("."+g[0])[0]||1==c.attr("layer")&&d("."+g[0]).length<1&&c.removeAttr("layer").show(),c=null})},h.pt.IE6=function(a){var f,b=this,c=a.offset().top;f=b.config.fix?function(){a.css({top:e.scrollTop()+c})}:function(){a.css({top:c})},f(),e.scroll(f),d.each(d("select"),function(){var c=d(this);c.parents("."+g[0])[0]||"none"==c.css("display")||c.attr({layer:"1"}).hide(),c=null})},h.pt.openLayer=function(){var a=this;a.layerE,layer.autoArea=function(b){return a.autoArea(b)},layer.shift=function(b,c,d){a.shift(b,c,d)},layer.setMove=function(){return a.move()},layer.zIndex=a.config.zIndex,layer.setTop=function(a){var b=function(){layer.zIndex++,a.css("z-index",layer.zIndex+1)};return layer.zIndex=parseInt(a[0].style.zIndex),a.on("mousedown",b),layer.zIndex}},f.isauto=function(a,b,c){"auto"===b.area[0]&&(b.area[0]=a.outerWidth()),"auto"===b.area[1]&&(b.area[1]=a.outerHeight()),a.attr({area:b.area+","+c}),a.find(".xubox_max").addClass("xubox_maxmin")},f.rescollbar=function(a){g.html.attr("layer-full")==a&&(g.html[0].style.removeProperty?g.html[0].style.removeProperty("overflow"):g.html[0].style.removeAttribute("overflow"),g.html.removeAttr("layer-full"))},layer.getIndex=function(a){return d(a).parents("."+g[0]).attr("times")},layer.getChildFrame=function(a,b){return b=b||d("."+g[1]).parents("."+g[0]).attr("times"),d("#"+g[0]+b).find("."+g[1]).contents().find(a)},layer.getFrameIndex=function(a){return d(a?"#"+a:"."+g[1]).parents("."+g[0]).attr("times")},layer.iframeAuto=function(a){var b,c,e,f,h;a=a||d("."+g[1]).parents("."+g[0]).attr("times"),b=layer.getChildFrame("body",a).outerHeight(),c=d("#"+g[0]+a),e=c.find(g[2]),f=0,e&&(f=e.height()),c.css({height:b+f}),h=-parseInt(d("#xubox_border"+a).css("top")),d("#xubox_border"+a).css({height:b+2*h+f}),d("#"+g[1]+a).css({height:b})},layer.iframeSrc=function(a,b){d("#"+g[0]+a).find("iframe").attr("src",b)},layer.area=function(a,b){var j,c=[d("#"+g[0]+a),d("#xubox_border"+a)],e=c[0].attr("type"),h=c[0].find(g[5]),i=c[0].find(g[2]);(e===f.type[1]||e===f.type[2])&&(c[0].css(b),h.css({width:b.width,height:b.height}),e===f.type[2]&&(j=c[0].find("iframe"),j.css({width:b.width,height:i?b.height-i.innerHeight():b.height})),"0px"!==c[0].css("margin-left")&&(b.hasOwnProperty("top")&&c[0].css({top:b.top-(c[1][0]?parseFloat(c[1].css("top")):0)}),b.hasOwnProperty("left")&&c[0].css({left:b.left+c[0].outerWidth()/2-(c[1][0]?parseFloat(c[1].css("left")):0)}),c[0].css({marginLeft:-c[0].outerWidth()/2})),c[1][0]&&c[1].css({width:parseFloat(b.width)-2*parseFloat(c[1].css("left")),height:parseFloat(b.height)-2*parseFloat(c[1].css("top"))}))},layer.min=function(a,b){var c=d("#"+g[0]+a),e=[c.position().top,c.position().left+parseFloat(c.css("margin-left"))];f.isauto(c,b,e),layer.area(a,{width:180,height:35}),c.find(".xubox_min").hide(),"page"===c.attr("type")&&c.find(g[4]).hide(),f.rescollbar(a)},layer.restore=function(a){var b=d("#"+g[0]+a),c=b.attr("area").split(",");b.attr("type"),layer.area(a,{width:parseFloat(c[0]),height:parseFloat(c[1]),top:parseFloat(c[2]),left:parseFloat(c[3])}),b.find(".xubox_max").removeClass("xubox_maxmin"),b.find(".xubox_min").show(),"page"===b.attr("type")&&b.find(g[4]).show(),f.rescollbar(a)},layer.full=function(a,b){var i,c=d("#"+g[0]+a),h=2*b.border[0]||6,j=[c.position().top,c.position().left+parseFloat(c.css("margin-left"))];f.isauto(c,b,j),g.html.attr("layer-full")||g.html.css("overflow","hidden").attr("layer-full",a),clearTimeout(i),i=setTimeout(function(){layer.area(a,{top:"fixed"===c.css("position")?0:e.scrollTop(),left:"fixed"===c.css("position")?0:e.scrollLeft(),width:e.width()-h,height:e.height()-h})},100)},layer.title=function(a,b){var c=d("#"+g[0]+(b||layer.index)).find(".xubox_title>em");c.html(a)},layer.close=function(a){var h,b=d("#"+g[0]+a),c=b.attr("type"),e=d("#xubox_moves, #xubox_shade"+a);if(b[0]){if(c==f.type[1])if(b.find(".xuboxPageHtml")[0])b[0].innerHTML="",b.remove();else for(b.find(".xubox_setwin,.xubox_close,.xubox_botton,.xubox_title,.xubox_border").remove(),h=0;3>h;h++)b.find(".layer_pageContent").unwrap().hide();else b[0].innerHTML="",b.remove();e.remove(),layer.ie6&&f.reselect(),f.rescollbar(a),"function"==typeof f.config.end[a]&&f.config.end[a](),delete f.config.end[a]}},layer.closeLoad=function(){layer.close(d(".xubox_loading").parents("."+g[0]).attr("times"))},layer.closeTips=function(){layer.closeAll("tips")},layer.closeAll=function(a){d.each(d("."+g[0]),function(){var b=d(this),c=a?b.attr("type")===a:1;c&&layer.close(b.attr("times")),c=null})},f.run=function(){d=jQuery,e=d(a),g.html=d("html"),layer.use("skin/layer.css"),d.layer=function(a){var b=new h(a);return b.index},(new Image).src=layer.path+"skin/default/xubox_ico0.png"},i="../../init/jquery",a.seajs?define([i],function(a,b,c){f.run(),c.exports=layer}):f.run()}(window); \ No newline at end of file diff --git a/m/README.md b/m/README.md new file mode 100644 index 0000000..9d6747e --- /dev/null +++ b/m/README.md @@ -0,0 +1,14 @@ + +## layer mobole +layer mobile是为移动设备(手机、平板等webkit内核浏览器/webview)量身定做的弹层支撑,采用Native JavaScript编写,完全独立于PC版的layer,您需要按照场景选择使用。 + +[文档与演示](http://sentsin.com/layui/layer/) + +1. 无需依赖任何库,只加载layer.m.js即可 +2. 小巧玲珑,性能卓越、柔情似水… +3. 具备无以伦比的自适应功能 +4. 灵活的皮肤自定义支撑,充分确保弹层风格多样化 +5. 丰富、科学的接口,让弹弹弹层无所不能 + +## 备注 +[官网](http://sentsin.com/layui/layer/)、[有问必答](http://say.sentsin.com/home-48.html) \ No newline at end of file diff --git a/m/layer.m.dev.js b/m/layer.m.dev.js new file mode 100644 index 0000000..a599c74 --- /dev/null +++ b/m/layer.m.dev.js @@ -0,0 +1,194 @@ +/**************************************** + + @Name:layer v1.0 弹层组件移动版 + @Author:贤心 + @Date:2014-08-24 + @Copyright:Sentsin Xu(贤心) + @官网:http://sentsin.com/layui/layer + @License:MIT + + */ + +;!function(win){ +"use strict"; + +var path = '' //所在路径,如果非模块加载不用配置 +? path : document.scripts[document.scripts.length-1].src.match(/[\s\S]*\//)[0]; + +var doc = document, elem = 'createElement', byid = 'getElementById', claname = 'getElementsByClassName'; + +document.head.appendChild((function(){ + var link = doc[elem]('link'); + link.href = path + 'need/layer.css'; + link.type="text/css"; + link.rel="styleSheet" + link.id = 'layermcss'; + return link; +}())); + +var config = { + shade: true, + shadeClose: true, + fixed: true +}; + +var ready = { + extend: function(obj){ + var newobj = JSON.parse(JSON.stringify(config)); + for(var i in obj){ + newobj[i] = obj[i]; + } + return newobj; + }, timer: {} +}; + +var index = 0, classs = ['layermbox']; + +function Layer(options){ + var that = this; + that.config = ready.extend(options); + that.view(); +}; + +Layer.prototype.view = function(){ + var that = this, config = that.config, layerbox = doc[elem]('div'); + + that.id = layerbox.id = classs[0] + index; + layerbox.setAttribute('class', classs[0] + ' ' + classs[0]+(config.type || 0)); + layerbox.setAttribute('index', index); + + var title = (function(){ + var titype = typeof config.title === 'object'; + return config.title + ? '

'+ (titype ? config.title[0] : config.title) +'

' + : ''; + }()); + + var button = (function(){ + var btns = (config.btn || []).length, btndom; + if(btns === 0 || !config.btn){ + return ''; + } + btndom = ''+ config.btn[0] +'' + if(btns === 2){ + btndom = ''+ config.btn[1] +'' + btndom; + } + return '
'+ btndom + '
'; + }()); + + if(!config.fixed){ + config.top = config.hasOwnProperty('top') ? config.top : 100; + config.style = config.style || ''; + config.style += ' top:'+ ( doc.body.scrollTop + config.top) + 'px'; + } + + layerbox.innerHTML = (config.shade ? '
' : '') + +'
' + +'
' + +'
' + + title + +'
'+ (config.content||' ') +'
' + + button + +'
' + +'
' + +'
'; + + if(!config.type){ + var dialogs = doc[claname](classs[0]+'0'), dialen = dialogs.length; + if(dialen >= 1){ + layer.close(dialogs[0].getAttribute('index')) + } + } + + document.body.appendChild(layerbox); + + setTimeout(function(){ + try{ + doc[byid](that.id).classList.add('layermshow'); + }catch(e){ + return; + } + config.success && config.success(doc[byid](that.id)); + }, 1); + + that.index = index++; + that.action(config); +}; + +Layer.prototype.action = function(config){ + var that = this; + + //自动关闭 + if(config.time){ + ready.timer[that.index] = setTimeout(function(){ + layer.close(that.index); + }, config.time*1000); + } + + //关闭按钮 + if(config.title){ + doc[byid](that.id)[claname]('layermend')[0].onclick = function(){ + config.cancel && config.cancel(); + layer.close(that.index, config.end); + }; + } + + //确认取消 + if(config.btn){ + doc[byid](that.id)[claname]('layermbtn')[0].onclick = function(event){ + var type = event.target.getAttribute('type'); + if(type == 0){ + config.no && config.no(); + layer.close(that.index, config.end); + } else { + config.yes ? config.yes(that.index) : layer.close(that.index, config.end); + } + }; + } + + //点遮罩关闭 + if(config.shade && config.shadeClose){ + var shade = doc[byid](that.id)[claname]('laymshade')[0]; + shade.onclick = function(){ + layer.close(that.index, config.end); + }; + shade.ontouchmove = function(){ + layer.close(that.index, config.end); + }; + } +}; + +var layer = { + v: '1.0', + index: index, + + //核心方法 + open: function(options){ + var o = new Layer(options || {}); + return o.index; + }, + + close: function(index, callback){ + var ibox = doc[byid](classs[0]+index); + if(!ibox) return; + ibox.innerHTML = ''; + doc.body.removeChild(ibox); + clearTimeout(ready.timer[index]); + delete ready.timer[index]; + callback && callback(); + }, + + //关闭所有layer层 + closeAll: function(){ + var boxs = document.getElementsByClassName(classs[0]); + for(var i = 0, len = boxs.length; i < len; i++){ + layer.close(boxs[i].getAttribute('index')); + } + } +}; + +"function" === typeof define ? define(function() { + return layer; +}) : win.layer = layer; + +}(window); \ No newline at end of file diff --git a/m/layer.m.js b/m/layer.m.js new file mode 100644 index 0000000..8080f81 --- /dev/null +++ b/m/layer.m.js @@ -0,0 +1,2 @@ +/* layer-v1.0 弹层移动版 By 贤心 2014-08-24 http://sentsin.com/layui/layer */ +;!function(a){"use strict";function k(a){var b=this;b.config=h.extend(a),b.view()}var g,h,i,j,l,b=document.scripts[document.scripts.length-1].src.match(/[\s\S]*\//)[0],c=document,d="createElement",e="getElementById",f="getElementsByClassName";document.head.appendChild(function(){var a=c[d]("link");return a.href=b+"need/layer.css",a.type="text/css",a.rel="styleSheet",a.id="layermcss",a}()),g={shade:!0,shadeClose:!0,fixed:!0},h={extend:function(a){var c,b=JSON.parse(JSON.stringify(g));for(c in a)b[c]=a[c];return b},timer:{}},i=0,j=["layermbox"],k.prototype.view=function(){var h,k,m,n,a=this,b=a.config,g=c[d]("div");a.id=g.id=j[0]+i,g.setAttribute("class",j[0]+" "+j[0]+(b.type||0)),g.setAttribute("index",i),h=function(){var a="object"==typeof b.title;return b.title?'

'+(a?b.title[0]:b.title)+'

':""}(),k=function(){var c,a=(b.btn||[]).length;return 0!==a&&b.btn?(c=''+b.btn[0]+"",2===a&&(c=''+b.btn[1]+""+c),'
'+c+"
"):""}(),b.fixed||(b.top=b.hasOwnProperty("top")?b.top:100,b.style=b.style||"",b.style+=" top:"+(c.body.scrollTop+b.top)+"px"),g.innerHTML=(b.shade?'
':"")+'
"+"
"+'
"+h+'
'+(b.content||" ")+"
"+k+"
"+"
"+"
",b.type||(m=c[f](j[0]+"0"),n=m.length,n>=1&&l.close(m[0].getAttribute("index"))),document.body.appendChild(g),setTimeout(function(){try{c[e](a.id).classList.add("layermshow")}catch(d){return}b.success&&b.success(c[e](a.id))},1),a.index=i++,a.action(b)},k.prototype.action=function(a){var d,b=this;a.time&&(h.timer[b.index]=setTimeout(function(){l.close(b.index)},1e3*a.time)),a.title&&(c[e](b.id)[f]("layermend")[0].onclick=function(){a.cancel&&a.cancel(),l.close(b.index,a.end)}),a.btn&&(c[e](b.id)[f]("layermbtn")[0].onclick=function(c){var d=c.target.getAttribute("type");0==d?(a.no&&a.no(),l.close(b.index,a.end)):a.yes?a.yes(b.index):l.close(b.index,a.end)}),a.shade&&a.shadeClose&&(d=c[e](b.id)[f]("laymshade")[0],d.onclick=function(){l.close(b.index,a.end)},d.ontouchmove=function(){l.close(b.index,a.end)})},l={v:"1.0",index:i,open:function(a){var b=new k(a||{});return b.index},close:function(a,b){var d=c[e](j[0]+a);d&&(d.innerHTML="",c.body.removeChild(d),clearTimeout(h.timer[a]),delete h.timer[a],b&&b())},closeAll:function(){var b,c,a=document.getElementsByClassName(j[0]);for(b=0,c=a.length;c>b;b++)l.close(a[b].getAttribute("index"))}},"function"==typeof define?define(function(){return l}):a.layer=l}(window); \ No newline at end of file diff --git a/m/need/layer.css b/m/need/layer.css new file mode 100644 index 0000000..d9212e1 --- /dev/null +++ b/m/need/layer.css @@ -0,0 +1,29 @@ +/* layer弹层移动版样式 */ + +.layermbox{position:absolute; left:0; top:0; width:100%; z-index:19891014;} +.layermbox *{margin:0; bottom:0;} +.layermchild{transition: all .18s; -webkit-transition: all .18s;} +.laymshade, +.layermmain{position:fixed; left:0; top:0; width:100%; height:100%;} +.laymshade{background-color:rgba(0,0,0, .5); pointer-events:auto;} +.layermmain{display:table; font-family: Helvetica, arial, sans-serif; pointer-events: none;} +.layermmain section{display:table-cell; vertical-align:middle; text-align:center;} +.layermchild{position:relative; display:inline-block; text-align:left; background-color:#fff; font-size:14px; border-radius:6px; border:1px solid #999; box-shadow:0 0 8px rgba(0, 0, 0, 0.1); opacity: 0; transform: scale(0); -webkit-transform: scale(0); pointer-events:auto;} +.layermshow .layermchild{opacity: 1; transform:scale(1); -webkit-transform: scale(1);} +.layermbox0 .layermchild{max-width:260px; min-width:150px;} +.layermbox1 .layermchild{border:none; border-radius:0;} +.layermbox2 .layermchild{width:auto; max-width:260px; min-width:40px;} +.layermchild h3{padding:0 45px 0 10px; height:50px; line-height:50px; border-bottom:1px solid #EBEBEB; font-size:16px; font-weight:400; border-radius:5px 5px 0 0; border-bottom:1px solid #EBEBEB;} +.layermchild h3, +.layermbtn span{ text-overflow:ellipsis; overflow:hidden; white-space:nowrap;} +.layermcont{padding:20px 15px; line-height:20px; border-radius:5px;} +.layermbox1 .layermcont{padding:0;} +.layermbox2 .layermcont{padding-left:50px; background: url(data:image/gif;base64,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) no-repeat 20px 18px;} +.layermbtn{position:relative; height:40px; line-height:40px; font-size:0; text-align:center; border-top:1px solid #EBEBEB;} +.layermbtn span{position:relative; display:inline-block; width:50%; text-align:center; font-size:14px; cursor:pointer;} +.layermbtn span:first-child{border:none; background-color:#fff} +.layermbtn:before{content:'\20'; position:absolute; width:1px; height:100%; left:50%; top:0; background-color:#EBEBEB;} +.layermend{position:absolute; right:7px; top:7px; width:30px; height:30px; border: 0; font-weight:400; background: transparent; color:rgba(0,0,0,.2); cursor: pointer; -webkit-appearance: none; font-size:30px;} +.layermend:focus, .layermend:hover{color:rgba(0,0,0,.5); outline: 0;); + + diff --git a/skin/default/icon_ext.png b/skin/default/icon_ext.png new file mode 100644 index 0000000000000000000000000000000000000000..8baee5979864b5e147f5b7173bd9afc1bc90d8e6 GIT binary patch literal 7677 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 B6HNdB literal 0 HcmV?d00001 diff --git a/skin/default/textbg.png b/skin/default/textbg.png new file mode 100644 index 0000000000000000000000000000000000000000..ad1040c425910722541188d387fe814816b85dae GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1g!3HF2ETXoo5_Jg=g#%% wwZ%^O`2PNWiCdEY|Nrk-Jkhdnx?2-NuqF3Pjsr>Gfw~wxUHx3vIVCg!0DEac5dZ)H literal 0 HcmV?d00001 diff --git a/skin/default/xubox_ico0.png b/skin/default/xubox_ico0.png new file mode 100644 index 0000000000000000000000000000000000000000..7754a47f7ccd1eff1f854ffe9850f5ab38aa62ad GIT binary patch literal 32954 zcmXtf18`+c*KRbiZDTUAZBLv`Cbn(cwrxzD6WcaVGO?41jT79w->rXF?ONTvyQ+Kb z#?rGQl@z3q;PK(Xz`&4Xq{UUhz`*JMdtsr!T0DK@T)zmEv#883*ssS2)+FMq4(A}P z>HI~$%5V|jj;ZI!UyXz=5*jY5_GT{bhEAqnA}01mrlgXVPNwemPS(z(VyYaD&HJ2R z{jmS*C+1{o=wfMaNBYas))b7Hjft6uiG{WF`yM_R7%7;HxX3S$obz0F52EGf*6mE5 z?usWP*-IiEo0xuFo4x?JZYq`#C}~l+cFF_l13#{Gm!ARb=%k?`+~7f{+yVUoNSEDQ z4|?%4^M6#Io<rs~Yx=nTYE zYkrptZw*{N%8a_O`567JRnR?AFbUoSaFPl zBG>ho&$T!xCKkhk4*2e)Tav&b8=X>jwM1f}|rp8eI^hH7R9R z5(*4@o%rX7_wuA?fepB64?s}=t+n_4!ZEVvZiWw~-FM&$NUZL!eVO5b4zi_IPlknzktUpJPoV!J7#c7!OSx;pOG~EpTu7W4z}UzT7K6lZ zB6oi+w>_|TNuWV`*;f(sQ^mZJXNt$KCcL@qC! z?TIsiRU}DdNO%ZbscTS~66G<5?KcP_LhokNNRa=itX z&6(A5-zj`Fo#gpF(9kE>M3b0~cKVw=C-h^Qn~;)WSZVf`+1Blmutr;|Z$+E_vuGfd z?8;6fA~6^eBOT|)49tVwzcnRM72+&656BxDA16av*-JaV_H_AcZ2NY5Lz1NayDtWz z?5>j>@#Y-;Lhqs!oWa|tN^GALU?S}IdA@02+JjYW5xry;M&W3n!tj-WAm~H^iV<+tQ ze?}XOT#T*ZadF6RVPH_Zc35k>hKJksFySah)8QB9>cduBzPH*rPt(1KQ-j@a!)7qxq zWLfLyMAzNS&=<25#kj+#gTE-C#K_#PD#_6!6IC;!f4q=6vpcHxX9~dvge(MzaVp)D z5_gJ-qcpgJ6h`Ej$hiEO%kX8afO|3D=}b0TY?o~Oq5-Ni1PSI&tWMIw91QP1d6zy! z>Mg;BI7kC_9u-#`17mB$=WA@p^M2Go9Uip0y-{Z4U*hl<=D+V_}ocKIxb1y#a5b)v{hN1o=fGx%k@k(Js zs{e~RqC(k?JkA5TUEhGa%Vptz>~=fzd1kHx6uzFw5~^=>WC2d~V6@JP$kqo@(di!z z+_;mt=VP7emsc|*bPh(^I2UsJuD-YbQnxV%MY)fUGl;mSlcDg$qZOA?Bs7G`DbBUw zCQuF zAB;X-=!}Fa7UwmEc-Y>plxcN7eI|@z?K6du6&4S5MMC@7-qT{lJ33ylq#C6%^Dl1x zY}q&cA5lyaAB3r3@Gm!bgsNu`=^!-Z3}Ak~=pHw|?0T9z_G{CZ(7-aFPRLP}AyJi^ zOzK6m@A&3EfAh^ezT|8b&qEiof3oVMZ{=0J-EGEySH>A_p4Y>Cc`{}uZ*)o~ozT6v z#a{&ipBhs>BpaY+f@);866JDp_IhpyA-5lZvY9V7=iWGa{t? zV#J>xJcoIV7%tU0Meu7VZD3 zZ>O1vanaK=grOlRHTZILuF&`ADhHXLKODsJwI(?tvk)jDXL<=PhoZ2ABl1h7amc$n3f(tQ3D}Ijm zI_;Sycv7axp2$I0Anewm1NpCzaL4OpQL`eT_Mc{Lo-bdI3zKqj>_k{iwQg^ir>Z@T z!29#QI@qb_p^KYT17d2~2)>)WUNkU2+W#C!h7LE-avT#AGa)xOw&=S?nyXT@IC-^R zch>p2O;l7=z0&moV!x)#kB>c>UusKp_^@De*s#gEyl$k#(=wA}NWXQWZ(E=Iha0U) zB<+ZT>D=J*bcD1CC^qgE^>2>-yM-mBQuunGDD?CIK}c#08-BniPtQ}y4pSyu>?JN3 z5WU%F#2kqNGqjT;3Q#&>lKZ#5^HQ2vb&ALA;Q%{w6f%Y6vX_k%xbMA6Vbd_3o@b~sHagLAsy^X_=jZnCg} z?&rXq<0^<#{zeJ>@dLL;?Axl4Wii%PH>@JEK^Clliwnv>+$S0k>&=1aQ?2^{@jiHQ zRaGlt?Wd^l8~fAaiTIJz?)1+0{(7dYT(jf7PRDUZ-oy-K33nxtMzy7V$GaBCGL`*u zxPR&G|Ayx|)%_t=y`?PG#s`1t!x}y<&IaY_=^6e|`AcmWKyTE5+floJT|S{PSnwirqQpZ5bejTLmtH?V#8_PCl|oIw0|bHmz7QqIUM zpCij;hhb-hQ7mV`mqN*Ii!Q@pgYs%hUNntO8t6IPCS=re?Q*Oh9Ig@^=l)&f%hhs2 zD%Z`G&>?ixGllAyftWaW#U;GZ;F$#E)^t_lv^V+avQN%z2~r0Nj=j9L;;Fm+YuJXp z{%8rM-+IGUpJ|W0w-J&r-1HD2=Csk4(bkR0p8bT5Vs&sVICZY0Sy2-!IuhU?R*l3{ zc=JQ~TIE4*Ck>PT7MPIdwqW0elfbSu+hJAsCVkJ<+u>MY4^a1M)aR04P3U^d);DDM zO{cRnu$x^Zj7rdr})mkM90^=%y8EWC0GmBEC53I`q?pZa~7fdOXKAkbr0KV`}Vhux`e#b!sbqhaMi*xLniIk^CN_0|GsO${OFRp{@A@YT-)OH zLA*GJ{F~pWa%^ht*^m(nKk+PCyu6|!4KCu|G>ODevW(v895~RI)kzK-VW;y>fy(y= zIVV!@;yYD=Q?HEVb^H#Et;UmYvk*RYBh@SJ@Cphks_bBgG zf>26YShw{_UQgqNG<~)wuSt&UV%{o2E@&4joAZ1x<~Ezh`F5i?nj4w-tkwAG$Y4h} z%@k9jpB=?`^Qpmf5?e9`*Ku{9Qf9!cvCtA(2XDCPxBWABNxlnVV?RXO%iFjPE6LR}BS{yZ_ob2e8Be7~eZsY;SYgJVh25Y0xhChE;Q)|57$?HJV z`ZH+HTeIU5X(q#o6FEP8ktT0^y-I&K5oi0507pz<*a|)RMhd@+=8vQ&z z74s;gZs!ILoO%=d^f{)nd8jo%h+tWz;=-Bf%5evF^%}oGijeBX+x=O+Kz6%alTi=e33I;c+kbhcMzXddlu@Zys;H}@!IkSFV`36& z+few9x%YCMZ~l6JI<)Ud7#B*g*cLH5NRs`L966|kDU*b31)w+1 zq6W}Y$e=5fW9R}ixeeLN6^P^MCoMYSOsS6TO1V+5t`Q=ZY6emnf)7PC#zXp)aJn9n z^*VYtSP4nvMq8iVXVy}U6kYwD*65zPtx+snw zw1IPxhh3k0#FC1?z3UvSU7GsiTouf8m7%nJ^IcOhk&c3Bw-4H}ga*&tl@rthtU@vc z_91@P_~-X_y+9t#eh7tO#+gf9{LJ$Kh3l~2!7nuGx(pM{NkDWO6}Pu%{>uet%zV|A zM9Q2yHeXOTL8Lbr2!U(UVFVl44UUzg$No~^{yQPiD8xQv@HE9zH2XG{l`8uB@l!X4 z?0(qFm)%cW-YBh&=KOYzYxQe3-=h|+s{{0kOdxc{V^Cw2x(o_%+{BGVlwy$T6@3I_CT;bBmedg1Gv_Sb5=Q;d(-l|a!P0tZ}}HT z7O4a-mXfXk`cKMi8%1_Qdq*y3uhJP4D@rZy>C@givE^|Nj)Ew`_parE2Ji5ZwpCb1 zI_}7T7Vz=3Wpmvm%EaVM#S*>|?`-{ok`mZ)L)4!x%x+^QCNf5AN9xiQaM(ScV9pBp zvUVc8xi?-ebYThfMGd&wzzb8Yadqyi7+KKU=aTwkwO1f}F9~3zh=5uY_SeJQ9TQ|A zSTGCe9uNHN%F2q$pI;}8)%D;J$;CZ9gSp&4^CkbA3dg1*>1EN)D(ft% zMhyfp)M+)SZ>EcYiOL-|qejsXTHW{$c*r>Tv`TPB;R7y%Vj|D?ehK~d6ju^%)DlSI zAhjPYQ)~`6u~)5(CG0k@yo^0BKRPON-#}OB*(;*o`$RfK!B?BG^>j!JoBy^wm(kTn zBaxO8wK8^Y&V;hnn#&!9cD35jc9a!G+x_5MVYRwv9*HNO?D&V1!FOi_9|f?8SI6M$ zn6H5ft8Fk|w>#GYKc0Smj>QU~W5B^f8jdo=9U*hBqn|AL+BQW+wd?Qx-_@P_3=q-W{)$ewO3k0Yp(R1x_Tqfjbz9k5NE;n%uV3vKRcxl3bVo9$gQ zDb2~?j9I6fwP{I;l;7Rhf_njkp9%ZfCSARZ<9WeK1i~$3rPIZZ!|*M(6$Jtijzn*k z+7_=Q8+Xu%+AzSlIx|^Gu{2kXI3rnmiZfE!oG?+=ryxtfW zcShZL?7tMQ6_QZm3w+jgCk0NBL{LSW+w9f6)dX0a>eW6|jeUir?A2Qt24 zQ)_E-w)ge3*Zb?k*HIXW6L6S_waoewd*_MWP%EFYO^G)PDh zeA9V+MQ$yf!-6ppF-##X3PCAnXpluMsv(U&L_w{s-s*Uf`8l}+#|C8RJMVETKw9xnwsH?C0jkdAQ5QUMRvJG;k5^IH#^PYcK5gBoFo>Kb%7lE z62ujnfW(OUGp^%gWlU;oap*BO@gnfT7SihHU1wrSJQ+6%9)tuPDg#TGOJsB_1><{N zStY`Ex)fkB9Ya-I4%{KkiKrVnXoQp}`Y}}y8&+1LfvD%K^9pKHu!P zDEZNJfJ~jIENW;7o#=sS2-hbXaX?^;M?kQm#>)6^W!LpKUq)1#p2>1`1^>v zx?1(?su=^waTAVQJw5&D&D$;5XimLu@n6J6*LfK1QEY#u|8hg-qiVVHd6V?Q$Jd3u z(NZMZSi;i9&HY8yq8T`WrqkpjT8lN26>~D7;JHmO;Tkw8bA7i%pD#oN9f_Xz1ky^p zSuQ`+eezFqdJ`W{X&O6v+ft(cfDNRAavPSEH-(u$lKTM3#wRlIYo|zx0{CP3+Y5Up*{W>M`FxO(yDKCl7@DyO3zxg2@IY4GErH9n2of zpe__$T_4Dtn?g`w$%HQkY<%Lg9_q*dBaZ!C!~)8#H-C;JERkrTi6;Sb?6DT?KS^=P z6WxC(x92>nk<4|Q68$bBkZGxRAJ$@O=rGjUX3iodYv zj91uxV*I9B@7{8GIk@P13?pA^F5lDKhMI_E8jNg)blSjQ*UmPlzn>2Op4s9%KR?K2 zSc6A$#zFS$x0%!rlnTtEu!w`gYHH+(u)4asA>D%!v(G$c<{YuHbdDFRQ6@tUVP{}UzNN68 z>Ee%2=*7KpIhtXUhoT5jUb0D)ciV)pWO0+sK3c99idtIuT)M9m#Qrx@?7yyx+Srqc z_^fd=or&3~eQ#Z7DBv)jD$Z8B4{42V)bRw2U~0*53R0#Z1iPMyDIS!kMoLeX?NxNu z#7vz-nj*Q-5GBUO9dr9SpIwsi(en&KP)|DIYR@Rq;l50utg^zhR}s}huMcZM-t_{S zOyI7=j$5Z=yG}P;7l`ID&!)rcb*qanm555fz+$T8I!4bXg8-*x~1^{e~pX;Dqeh^!R|X6LrhE zva}mX?KxRRWmE(wSrfD5F=NbQjSD+aX?s;p$;9y$=gNF@#1<0=hs}5-2C{1@up>M< zF{S_K&7Xee7|5*JGZ-HZd5l5k2+3l0_GL6!w}k9eMG-&cD;vb}#Wid03pWtBzIRVL z<)3Xf7O$pz+y@Kx3AR~&F;7pP<>h5WB3>x-r{9&og`~=6MI1$t*D_C6FF3m{OGYuH zY37iE4Zh3CYQxy}Lk*fu(fq@cF*P-{*9Yo2BiXeQbZ%~)H4s}N?;Zc=u~&3n4pwB# ze}r4jH}m>gbMN7laKHCRqHy`?cyUwoDAZ%VE+w=QehYZrFTM9Dnzu;NpdTrd&(>(R z!Ws-iGTvx&1OI==P9w27M8M%|opjTD` zd_itMe*DPbw8h^aiTzTIb|1WMyt+xwOfD7Kq}VkUsgVTdy%elgY^vq)s{QJF6JOiv z=C{wzuMGcGb}-Ge@%UV1YAv$GY>|k`qFz>f>&s`u&ED^O{xy5u!3EnpTmOjIoU34d z#SFR|LkqtA({B`oF&-H)iMYgJqB*kbaG%C@$)a*?NN?vqdj&QTMyR%5X!Khk?EDVD zH>eoDI%W80;-1nyZtO3$Bn;V!!PgXu5QDRogDk)O(fCjCj}CbHKG6Zm>{s5+BVxHk zdX;i%yplD^gyS~UK=3hX5;3%d+T3VMy+>S%+D`;d#qFv}_{E}+Wvrnmb^~|b>zE&< z26k4@egMY<{;$Da#aZN&LlJOp?-ysmu7{cQM%C1HT_HXy5uixP&{(QqEo3c$+mt5f zq=s&WT8>coVCcx0Yq8{}Nz}20bDn~pwT(BcVdrO5Yl{9S8@E52>)wRmq3Ov!@iDkoflx=#%~D{+~w8lqAd^1sAM3e|j3FtG5B1+Qcv5_9J0 z!Ioo;wG4xPEmU-i)OukX`?wpYM=4SA`GIbFyG~c@6UI97*_@Iv>VSJ|{&wOmn-kYB ziUr)hQUd-@mz&jF-EfBZ2Od5qCZ(#pZMXqxwpjF?yEr+YuaKiPUvs0v8hph}lBRqf z75eCpX6ljqT{iXkp$HBp^e(|RD+nUYDr5PIzHF& zuBnqVrQgjR8X}Qkc+Q5QTrRrtbQUQA=Q%ZYG^^QE2DooG5nGidP_LZqhJ5)ZG-E(G zkssDjjMNakOd6jqx}*Ux)DxQbjg+!4jFQm8EQs0_GJ=^E+l_~y-08fbJd3KAqGulk z6BD=Xg0;y~E-MEn*Kxs#Jx{ACeB;CpFrpVgNy0C_)$Pq?4XhnLbz!w!pq!A3C*7ZN z{6)VmT=6G4?Vn@^1X&2x_bh?PDMuJZNrju!{fPN_G5J*K=E2qv^hj}!^M+B4wrf*( z1WMvId&=Mmh0z6dgVRY`A|L$Tw_%H@=!>q85pDjLgJf~?L_d8TQmd8462=l`T{+)3 zB2@UD5dfuJBD-{1^Q>?rN_sh$gwwQ$Y=rN+{4YAmfdy2EO5-bK0&O{68#2SSrILar*E~Vz{PFPi;owr;*cYxc4Ru~G& z%vd4?925lDkZWpEz8~HwR{8uI-Vl3IWaS^+m2t5jVGp#0ot@c2A2;#zT1^>bhwvzG zPL!S!s?5z#{T5(-m_NQrEWWHMn)tmo!l%(|Mp4#N)6;>sg)R-ICw>K1>Dale_`SSKCr!-|Wv})W z2fe-du*(}iU+;<+E2lANk64!HhV4FK2-*`)tXSfH>V%eznaC5mi3|9a{%A<&*gdp~ zwky-MFIBUr78@@a;>qZ*bt-$A-NC#{0q;IK4y8bby90oJ)85=EXq!K`g@yDRBy7JO zanWntV^f6D@q2vYIw6c2QvWXG#!nz}GwF<>hhbhu_QBidwym6MxiD<8u`X#Wj#Vy} zByyLdGx|M;`bi)^FK|+1yp5`KT645!Tu)CaHwi&T)v9R#2ZsPB3mfD`hg_O)hww3i zw}xV<#rtq$szENYfw@|WsyRd3mP%1a^qcj=<{#aUKby^v=3ybG(y*$cEp%gmkPSSj z;qmRQ%e|It7_>i|vg*D9HS^Fbj6Lx=dzL9kc*AprVryNVY@wl{9{j{wT3Yq%7dC&J zB6+=YGz#No7R#6qvI1%2o_>ys`f0e*_}h7hD3s=rod##*uq0--v*G1(qAwE5+z;jd z9~Qt^)rd;5g@2+qD^HXZ_bfMnyws^ZE|o%I8jq{!MEs2B&st0QpIKFBh(ItDp*QB} zZLN_IM>pawd-lxsVrHYWhAC`L+qgwMX=G18Ga|=b);%-xf`{$CIS7)fHk+AmF<`e^Yp}?2j~6h%w@S-_C<;2^m_>% zx?eg{y3uZgRKic^M7ciuYakZ|B0+B4cGX;MtocN{(D44vmr1_bU<{*Lu25Q88I?+> z{w2cyQ$7edW9qh@5LATJL+n%to(+dvEgIEWYaGyzUzmzhSU`E{eWIjfg`{K@i!yAJ z`=7ftM^xgX4xiUjnFskROi1}SaW?f~IC&NVG#u-XoKNEht}ZUueUK>iCgVR9a&7iM z^yA1V$_WKJz$Y!FlFoIUTq)>&Q^}&|J9cEJf9l4d@&XuOI^EHC4MMhs{)(734?W*d zw0*puflQjn%^SrSyV+7^<&1QY-RWRm2BZ3h|49c6Cv@%B1z z13vU^-&nPSKFOyOV^t@prjL$_lGLReiQa1pO*6ahcVa`beyeaUNkDV5Ua$(b21#)` zNCu5D(#&$K(Gn*~>a_&NblpgYwkAc4D(Sprm;vC2@&vpSC?k;wIOjGtrmlAf+aFf6 zLES#S5;izocI`QUAjG4ToI&;%1l+w7PjkER8NG(EbnX28;HVmY?pMd7L%n$>hJ2Vf zZpx|YpGa^ZQEyVGDY1c-mEV`0SAtu5fF!)dbAE@m-s%n3&^{ zmf)+7Yj?CR^1PLtGD&zm`zk*;t4m62k-f9}mXhcF*Di$}zb_3@<&@%K9(9b-Wk!|1 zb#lX!;mJ3({vzdbva~)c005Gvv$-&k!}0h%m|M5Jta~vW#Jq6ywfw=wqFA|`EeMN; zY+MWrB8QZ<<%S$0S852@b16pXUc(!-1<_EB~82rbsfzaLl9o~pvuF~_x0Bzu@`ZMA zQ0Qa~5wtlvTCY&W3$;82+fkS59`IKg&(${=h?Q{^&%)Neq&M#_AX+@!`$8?NmAux0r@y`>9Zt`)ccNIQ_4bot=Gd zZB0g58Lf5Gjet}8Gx}ny6%>A8`WG)(9ZHMSkxsOA&2tHxl^6DO+)VZ$>G+YQ#sqeI z-36hH8B}xDIHipEyYiuw2q88$_CM~9x=YV8*(S%C{8^yvJ5V^>(Sf1~j_^~A(P+kPA$^pJ*YMNO9uh`l@|MFqop(69p*KR4V~ z*9%5h3nn+x4I@n{~qX)_qGSKIP^_sA&-vVwkCs7GkJbktU|9DOu4U!ocqS!PXG&o)2OZ+7MJ!B@7*w6G4UPj}>s= zWvSnHLtAH&xVD(>jq?oOR5QlV1B79jL&Y^>iGX*`ZC!G??wpc9ZNwig$(p=4+Pmr^ zH4+vK2E!~2p);@Ue`+*jrP3vhts#b$$70>z+=R`)u}huZtYXruN}TXA6h+COZP7ga zT5Y=Y9hoNjCR*=!0XmQiimehdc+M1SK#ZQY{++;s%~_`_Gv36HZk3{-Yrs|5Q*6I= zd>oq+?g}AL{iOl1SS@`gM27L#H9$vb*`KF4h}wgbV%UFfhD7nU`8J(L_cBr-oR>1pWRcn2_n|?)*|fvWSbd zG>WdndUBkT2ik_MsE82krPR z#SP0CbDSWo!rMbNLpPb#@8PD&d0(vmy3iCeS1NATEo~wDSpaas0qB$w*)^>e>gL($8pS=Sws z&_hHC7ZM$UcNE+*`X$K&Y>vaDlV&E~$>cX5o-gbaX4^3|U$2W73AJZ2ynCcoyTVxQ zv9qX*;RQ5-BInuuu%yCVr0ZKxk#p-?pH%Zl5-C`n<3BnPsjhgXe+ABmtsZMOtM`gL zY)y+BLFbC(cD#PanVlFQiB*1C_}o#PCG{OU_3e2q#7z|p{Dy@V@`sEa5<@9$?fEt& z8g7U~tN22rgVZ`9-g@F_9zSw!Yg2?hCzi}CNmVeP;Q~GJuZzv&cimGFbT1-v6g)xF zSHUVm78GlZ(?qr;RYGYAUl7Zo;W7|-Hz)Rm`_g7G&t<&H?X-Drc9U}N5p48snE*%^ZEm8 zvu>|RcH9bapoD5mroo(DpP(nfW;A2VSgjGGGbfDRm%GVI-e$KUS6zjqs$ex4ZXhgE z&hO-bH}quuJg5!Yc%i3{VgJMLm+iPSLkk0lM=Rc3%?+t#V^X9Fq6UeKT~2jQ6GWZr z-8xS^XK}S)Q623t;=omk9669^_wnIGXO28!I`rV*ukAF!q6?BfNgHWbL@|G(gkfxr zeKnxR3&tePgikVr)E!uYN+Ub5$rG1-x7oP$piVP)e!aH&*{EaUb#Boi;YvD__GyFO>dLVdO`y8 zID$Kw@cT_MobWVvN=c_9w=F3~&CNaX!W+ZPo#qdWe#$m_`f9_(_q2z@m0Dt&mSC$~ z?2fTiFZBw(pCJqn5Bq@Dw~tcb#MT-{hm93YiY3B!=%)IQ>d9hEX4JT?(BkkzilI|E zs5PJm=IVKDo}*Y{*`YH&QziBMwT}^S@`own`9)>M8&KLM%Vx<45sXhjPBn4}WSCJp zn&{8G?qr3M<*Wy`8-B9z9)E8%Lyh>#t|Xd|Y% z-g1BOty<75^%X1wqwfI(^@no+tPyZa2SM(mwaVSQ->_8hhUL)*WmT2J(@)9i0)b*u9}){Eg`y++j<2D;+2mtM4Qtnkvp@CG&oatNBEijhOD+cUyl(9XL(Sm^#=F$ zAYHWN^+XZc+sh3Ez1ZNpLA%J6gDvc zfGVS^4xVwwpx1aA7cvbRQA@kHOvf(z2Z8ZmHjdHt4Z}w3?*5c^C>A>R9gk!34s{-9vA+ zvA3~%Z?hjZ_g(_?pudm3vtS+6;EkZV_4SKS3=v;ijW*Zqp6ukyPB6E#d8SFaC-WXY zk0rFR)Zmy?@`4C!q9MYoMC;$qB#=KbVTm5mT=TRv##N43^%5_8%N@5 z2VW%|N<$hBq8h?{v~lY^J!WmZENCQB4tm03>1P1hqZKSPct=yf7O;lBo3TU&cyuuac3;hEF` zUPD8(n0N!Qe=jWlOp|n+RIn-{u#CDKD)&gB)CSzgfQdWddhDR`;4L>&M$pLFNHTKC zzafS86pohsX|_Zu6sFMRY5($2ox6n+Vd=7~_bL`NCxxv*HOD$G0Hm&$?S(?uv+t9l zCZv*+^~a)yqZ@cAQ`o-=P%DWk@2y5!V;7H>&M#Fitl^cGawwdhERNChbLx_mQY;L# ze!Al6KDr)Y%ZT&JKicFA+kKc~BGHxv{2VJLhbF{s+Ye6u(KIC_z$L zZRVWlszN_swRO6i2Ht(?X^-t6%e%OFp7_8xzl6*BKIwBDZva%7DH+*r$_6*35G-FA zZT%EVvZ!|)aQa}DdfdFI3Ke+(Y2R;n?0hj!Q?acRGJG+3{ZKTCGUN++`HhdDvBFBW z_zy!MlQk~a)=R6N@$%q(yZ+uk?a%lTui%*giPaj^rgJE*PK%3{3LD@b+olR@C#P|L z0m+wxyVtia@<>#F-%mkCPZKBt>-2^C^@DdD_MGW*wgG=CvA|^QKg8s^ysd$Dljj~xb*k*OG;v1-pu>ccKqP(j(e|vOmr=) z=Cy_sQs2uq<`M^7kLxJc%c-J&)V5Ilp}$#*p4bNL-BZnHD3EE_;rqBNRrP_n$N=)d z0OoJ|xXy+v3i2Dnsh>&7$3qy@^LG6}>W{F-iCUfm4iqUhH4cdvJ4zX9G(}X{riCqH zQo^|T)tvq=PavD~jN0l&xZk1B89}i-m5|8G zP-Fa==8Mj$kL?l4^WQ0wf`5)Vk0??U{vOT*is~VeS=eyXC3;+$p7WvA8ZB9CcZ@|0 zNjZ8P-dhs%x*h)#)@RyJ$laQ&#x>IZpf0*B94uY!D`Tq&i2P6?4A{Op#_4_j=GK`T zPV#}IzLl}DwFS5RGSm8U6Yn20y8oh4D^UJMO?ghg>Vu+O3fa3IT|yb%sl7MoG*0ra zZAPy2g(A=34H;y~`Ays^_wnr*xwCMV*Y9an)NGb;x~sh$1J>osmnJTnoXKy?xSiog zthYTM`;cROB@RUIdRnk=0N8NrqBj%-VXL>@_#XtHDOn%+NKI#fF-s zPsUeMi{CJh6!RsyD;Bp>*%dM=Xl|EJRpDHS+Aio8%T<;u(X13d3ekx(XC4`6Xk{4E z9L0mxwzpi1TzoEB5FvGe^R7hli}m!;+4en|(v$=H@t<%3b^h;WUx&hMV3)Z;12KFs zaMNzot`$WC3nF0ckSpPeX@9Lo$W-=j-K6Bjk@vs^Y?mUvL0XGh7G@E%!ZF!^dxCcO z_;wiXbMm>XG47>9G{R&VcCetOB~3`}w~-dIS&rWiJcP zWhj)0ic8l@N_hh1)9T030Z_Rt82A_@TS9Z_oXl26-915z_7qm|Sx+ktr&u`186(N5 zg9_6!j(cBBOH+z+6H=o`qQ*)_N)~@%w73b)F8(%y$>s85^=`*6ej)#EcJ5xjg!A*e zpO2t^@8tVsJSz4VHo)(~nSSHL8DDh0VVsdrftKgsY~Bt6f?XaJh>>C%cbEkyWO7ts z?FHig{Y&kl`-zCpEg>~^8AO<*`Md!Bbomt`2EBh>kzWRNN9|J{Nu;<}{+CDk+~b(` zpL^}zInz7JH?a|-+qXa;zfY}>nV>oO(oSg|LoDoq>~>Orov z-kI3X`I_2Sz8?ujhvDr74fdT^c9i)P?71gThGDRU=|RMe;W+g!Nxs5UJ%Jh(K{js^s&27+;T)^#m}eI zRog$V2;TooFjN4W4;ew2biW?BC8}Osj7Z50Ov#IDx-yN7kW`k86(#-^g~gR<3i&k2 zbh|QZZ=$64@4^7(f1|-s7vi1US(F24h1nD3biYr?><4}Ym*KdI>QMoWg?}QGvIO`a zx~*~5)3iPi;#B&WB(_h_CT3|B6dsvkyZs$Ll@0;kdYJb<7d$h}i0txbwjH&1udhE> z)SDYx+oS)jkai>}q3W<0v%Bkg@lv(pk!T}tjrXA?yZ>}jskP9zIDz$BKv&5Te)Ola z%sTqQOq{T&2-rJ4aXD31KGsHHMh{1f?#Il!vvRiL%KVV&`PRZG{RH|-DrwV&4>R-$ za(^3l77u=K?D{94xYyYCaf&4hd+r7z>#oW(_U?Hs(FfxuMD`Kf1`n$p1wkN7cb>3# zKxWdpu{s^xpQLp2?w(v+xG?HSJB*_nt+y7pwivlknG>!$JJlZ^?BsGM#@x+NfEHvM z9vW4|^iNJs3TkRnl`68oK*YCCO5_3pu{k+}Ur8LG?l;h<`PKCPzF?L2=hL088IVzP z3+NF|#Mgqs=ZGF&ZBiZrz=Urqy$3+qEe_PBdwU}^30u-Ol{PuZ!phScGQoYNqCSQS zqmSO;uQwQLx6oUso4qs6-h%e|RB}+6lBnGX{kQ9Y9_KgG&OPyFg1pE4$2`Xx_eWxW z_h){@tNcSP@1`B$qR_I5zc)0il z<#p+JY-X(Pmp2?I1PG84pkW(M?a26$ASKC0g4|@7;JTU2)|n$mvaak zbpmgZLjV_ z0`;v`{!>BCFUBOr*AI1USAa_DTJzDk3(Q;386I~I-*B&M-}uWdVz=`R5p^J0iOQEo&SJmCe>9aN z=Ibk9tNPc|?A?oXjXoNiA*&vV1O&A8@x5cFW6YlEoUu0!16NI2P2-lEl-e3F5?@T5 zFj(d}=e({N^;-Qo6K4h=_4czC>f+Ji4B7JFn2w8_&7AHu>*Ba;ugDK$H4r z#aE4Q2>KcIwnRikF7ED)cALY5tDW&bO9w_6vRCVOHSx2vENpEh=!P8xXWyTMgjHqP z(z|!jeYTAcE7kaK#|BMUEzM?fIP3@nZ%gGjI?AUw>@z205&n&1Q;FarHKDeMktYrT zE|lfDsClI?y@|DGs|yqGYIn+-ZQts*4)gt5P(JlrZ$nX-cwP}kyUZfp;S|xch2AZr zS~o|6T6=RxWSJz?ezavG&f0HIOn<)QpFi-g=y{N(=Q|^h|AIG0%sXzl3dMPzfJC|O zxtl%S;BhWW`_UqQhow#$9B^#k9(qhIZ*(&%BxtuD!(y}6k-4^L-e5hdK)7x;cob{n zZ^u_Pqd8o?)@W&ICqg^^#pq5SnD^7ge)`kqsJGwe=J{4b@=BRmi{0kLS60;MgW&7g zS8P$p?Wp}WtX+q%9ND|CyZ|vSn>2Hrbrm?>sQ8v526|%I*be{7Y~YnxKd`Lse)Gy& zr&0ZZJ+CJXpl`SH6X+)}cbJ@gTJQrY2tLky+twSR6*tQG3)oF$_9UHp@1nzSy9PogJ)-tkcx3aD~CWJ!Z_u;xw zi!D~FO>Ok%Lw^0N`#No@$*g^Q86R#K6k^KUpHju`{P9MAzHSGR89h%!yI`bqLkxrNQm>4R}&f*glWw(gA<+lY1?h2xw*JUJryhWfi^ ztoMYxL;FG?GDV?Ru;HHpD)^eyhMEBveVguY3DLD3fv&(0##0^0QkBG}AP%;(Rp$>( zyUnFR2|8%a#x_fxGd8r`QB}nM!vZv|_*{8!?_b#adw0olBgZjnIO+~o4Y2uxTBoXi zS!g!HTdtclAH{Y4zxKZJD~>LBli;oa26uOY1$PDu1PBm<4+MAj;O-tAf;)l1o#0Mz zg1ZykxAX3A&)GjBZi=c8_@^_V~H#X-K8tbgerui)W4>8(ws# zNXc}o$Sj@Li-54A{X7hg1E@oh#D*7s*e}p^xyOGyLbp4f+4}F2d0uR2qVxIec)2}Nd~soj6q+SXo3AHX$m@?fbc^mZz;BnQf%4hy zdD$V6h}k2jC~BnHjOXGx2G-B(=)iv7_U+~Pq;3-oT4IHWo2c(a=N5cq2x_B zlEp$Z9v4s0@fpKO%Sx>goWbjX%E8fL4>LixLrKniyq^|$NN4T0cTt{1aDjnJS={(y z=LLH5h6mGy1DWIRoOYECkB(}|kS1RUDf<&DzJ>y&OwqreQqV;1xfB$t6BSB<6v;j9{!+fUe^FX}t z#ExSV3gJi{O7FLa2SkOPziIl9R${9XoW;>!ZE(;vLF}P#MSiJv1S#=3jDNEGdT*Ml zx=)m=%Q*Er$@HXUcJ#ZK_EgzUf<@K`KP{|BAxzcyfc#?Msvs%RXlOKld-&_!V$}uf z1WvqKozvcj-SMo)2sv}U*S{?2ZZ-oBnGnV=v!IY1W$At++B5lx?7rGuRa8}( zV9W8peZ7y29tqZ#n=*w8Orp2V6Bip;e(pR`e(z&_UN0*=A%x|Aw?D=@so1G3B|Wz3YnY}#)3Q-XRB7aFIJ>pg;28nbHD zx_V&Yr?E;h__9oVXaet1_38R*5rU1y9l%tFPH)K~Psn;JbT}_Or7C$T9v23%B}p9^ z!wiVNJ_F^NTgR85?Z;gh3-8vE#KN#Q8y$60Og99^OJMr-a;c56j^L*|AxPmGsBG}7 z=bYi)5-lU9YT@u>E-p=>!Kj61*?C7_)+B9KmAJEHZ?Cx^_l~~Jrf9KmQFUL#Re(5E z3p+&tT|OL4|DK0aT#-B6fU)a$Dea5}qT4BHqG7Pn-4}|OT4!YUd#47jg1nvD1rI|| zydq_kVGSwgwz;(&wkCoGj1Cg*G*d#UCRFU4Qi$S-3OTZ89p*y|icq?Yd^G=LZ+_%N zf$g~W!^0(r%=imIU}2n*N&=tZ9`3QADoHo-B0kyB$M(zt->X~3f;5rR9yd`pkwAU8 zWbrt#fKt}`*q@pPJ-lbnR;)rg49igYLbZY(t&vi2F?a31L-W@o3Y(E?QbPQ`>rI6T z?f|sA4y=h(fceLZ!^hy6+1HF=$ON}jgSx?)SZ1-+P^F?&=W=GEFS#oFq z8LhAjizh3PydQQMcfTwQwd>BbJ_S7$?doJHV3`MlVFsq>7X@*@a&fxP6fu2eGyH^Q z*9f5lsRSbiaMiGM^@cX5?%#n2h_{Svh<{rqhS;mz=|jH(mw+~HYVc5`kuou+E9N_0 zcy#SwqWbRV{40O2_?tJM8#&E>xyU_d7r*-_v5%72u(+HtQX7+0hj=JzIuOVA)`t6~ z#S709uTkwD?`+la^3GD&Utb%d zQ|0z!D+qf{5Spin1j~&0##&1WL9=?GdOU{V4z%4p)v z>5{)kWDFXkpc$b&DP#|?f5`UR&Uyb>*+_nU&4w<^QvX{3go*K~#@ZY#WNwpRIxUUl zaBPCx>Ol}5VnLf>7Vw54F@NWH=l8^SsjUixJBbi)1EQ$DI@XZkgwqXFS06++UdHuL zN?%{s?biDKh&`i3TQu3@3%BC=p8GT%N7tA$@54kPB?~A0wJ+(+Xzh3~61}q1G8S^^ zI7|)`0buvK=Jbdpa3z=YhE~t5gO_KVl+=~z9i@oDBXKgB5SRgX-DBbBSBLp3J!>#+ z)4_Z36LQ}$C^n>!k-YdsMu}Le-9H@*&V~bG8T_#`;!&>=;mEB(#fCNl8paao>sCW?So29! z&ah`th8>}{w%e=9Cg+1ayYFMrr`A+pYEuZNOzrhM<_gGp%}l~JACY7X<_bA=Ob5;c zRxc(4G9CBT!t?RWTTjd>QLpzdY%Dc+E`zyf{7UPHxShD`kBBGVY)Dp=P#M0cQ1d1` zeWeO-$y` zCSIQ=JPrw8KMWxmND96o^V%48>b~t#=qVDZsrM8FD>5b<&e84*!l!Mml?eP1kcI2i zuC*N6HXRvkWzSBceMh9x90j{w?Wg>r)k(e4^271HZlUTTYb+*4t=+DY=vDee&1t5S zY-cQ2h-0ZV3IK#4`~Jn-KK&CE16LKPt|iBWj7&^okqX@ z2~vY#FZ38%ldxn27zY!un2i4pad@JQt?^ZGm{I1>OEO-K;7@qD@Y`TNbPzV%5*SGm5OX*b95yV>FR>D(QO-65)OXv?A9Bb1da|PEiyM<{@P_(HW1^O}pxRlEg+ioAbH;~Tr zA>`m_Y-U!Z&wdpSGH8O!!&_uwQ&rqh>7SA!D82d1SZ5g;Q-02s<=AX~Kzq7>!jQ&; z5Mj!gRIA&{?Du=DZOaD$V>@lyCVn`P3aYaX(Rm0*KoXf8at*0$_j4H{1Zy3;g1^7ba%d4__>~cl5IGwsN zu3e-^Uzj8ZHZ0~%kIFuIZ~x3OJqSPmQ|BcpY{<(qp%X1MC+1N+ef!Jb;ZH;^EAZi} z+uGca5qW>|`>pSJAf#>#ixv^%;g@u~DO!Dm>;y}fWQ~oM*z1`Pi9Kl~$tq_Cf{T1Y zl@ztnRto`?&Yp~$imV(%5jx0*TC0dXkm;@Y$@{KH+ZJ1;BPX6HP4CyU*Kf*L zFNE)OC=&y32+VCm5&}A?N`lryCk^QT)_-Ffo3brL`(4;wo7Z$CBs_mXHjbWayTt6e zrnOmd^zt2oAYBXxyx0QLe}2VqA=C#C6vWmwwUagK7Ol*OeiB*NWqzABH{FAfs@HD` zS!gsxqfVD*kx^ycyuML8-8bAv66@-Gec1;UY~>cx3VCq1v}X}wlIEVY9HqI=eTLLk zYNH@a$y4GRm3*8wEM`-aC!s=rKT()uf7jj4G0EpauVY2NwlI?K!M5P)ygRvHa-+a3 zQ%H&%lu&U-riF>No=G>;Td+bX>09PIC#5{)Y0APS7wWch!O4V>;cO{_?&m5N@-lN-tEb&B&Ni$U{UtZ?x%M zYsP!CFiR_>mQYbWU};+fv5&Jq)m^<$^?U!dl@&+XQNCE0I~~3>iDc)eWN^ZFN108e z1nVlI()?RlpB99*SaJ?6$!YyCy(@WI-l3rA$mk<_&fU8aB+-{{mW7*puLb)Ow3*2$ zb}j5*j@wjkK*6s9aQKW#|Z0MWm(nX@VG!u)u3 z9ijkLExFI11)%GCXWBhBYpWsH_RlRt3)Edu>uILc2i<_(B6O%t!4KIq#y18Ru@k+p zX<}x$6z!gGavtV9Z^m__vV~Fp%tn_~VaXb)MW=l_`xYd`9Ma>;`6m?nK94bq2a(l( zXcs$?VPpI8{njK<4iGzTwzR!8wt~(q6I65YLoy}zCxs+V92jNV<@0p<*TW2Jcu^3= z47QD|v=w?kvi|-Y>-VF$4`|%iup_lh7%al-`Rj@yBe|QG6M(|hHC_EVqZi}s+A_F< zt*eS5a@sX?aoNB}1+T?Aa?D5t*X=K*Z|uIrH&sahe@pOmp3^TB zOn7$pSU#&TGH)7Pdv$-8^)40rLr%cKL8viK01PwTXw{znU*3KgXfO`74iCS-d5K(o z!}=A4@ox9t-Ot9V?G}~^^7#kSaBC@&JzaMqw>2M*N5le`eGcZj1MZ1iP3`tB`mB0z zv5gv2s>w9f2CDVIx&W~vSd-P23zZb^#r_)wnA}T~tFk+e!@t%^DW|ig$TcUTk9Pkvst~pM2pu>x~bbyL?zZKHtp?KyNLHXi9r87DBvgm`kkAApF2F1p>-#vD3))xzT zi4jr|ql5vuFa=^+-im$Ug9GNvV*QK!V1kL>F_@iBWGK24fI{DqLpWNx{SdvLXit~3}KA|Pkk8cXq z!e9K~2rAHVJMG$^7(5~D>3Ok1ZD#)bQD#o2jt57%VuDBzmmR=OnBhTzTgapXJr1l2 zh1dlc{C?Y(ne{)W*Q5#=V%0+0INtw0GK!Lw4_1qyd<*a2vv2vS!_Av~j-^sX5fb3{ zAU1D55lC`Bm({tu{z0PDg4MS6V z;k@=Q_nUGYa{F<+y7ln~w1%FDMJh4EMLs^9%~TP_a@3zDBAMl){Bu2#mmTug6jQ=t zPSVU1@z6S+l%uR8P<3K7D~M%w~RC4nSyg*ik4N&6MX(|4~p7s6;Qto+^cmL)Vrp zScUatj+luqdvAmOkP#ozJexbv8j8Xn-{X(~f=5{{=q4)CAT_S>N|WqRG98p7QKn8b zJl&Kx;l|iL)B)4K`=Le@H3cT(=5hZfU6(DHCoY&JY8==Kshn6jAQHWJaoRsVG+RcK zIzC$+QdQBeY=xb#Eu9b?)k}gLTt}vhx=aTF2T1rS(QY~eOMdC&=YU$Oy`rI=!`ez1 ziQu2R4|o3Id~D&;WmTB2Zrz!#W%9TC`c?~2iWIGkR%Qf!m~5?W|FdUa5hU01)7Q&C zD2v`@P8!{whl@T8!!a|6Kw^VFQ6NT&J~1yZ&z}-GPHpp1R05k50GF;>Tsmh{Eq~zu zH2n{rkA#efw)R%l$5Ywrmw~;U!$&`YtfKVnMHpc_&^>59U^=zr_S0sW4``K@`0`~L=Mh4-_5fzrEms+Q zAjJrl8Va3^>1oq@t}#>ymZZzg%L9slzpf~K*U0KO$Epl0;Zw5GRN=nESHG@@UqWUz za@es(BO@jqiHT5pL_{g<1H0eEQ#k&46f*yQwX7cbfiOnk{{8MYXF@B{eJ$zB7SV-5 z|B~E``CW&KpPyJ@U?89;zzITz^0;n|VoMmczEGQ*di zq{yAM-VFEs=LA@DtKD)|bn2~@5sEdWD~OS36XE+_E2XKNoJSA#%fro|dgZLgGW~h0 zbnO~rSp-8`VGV_L>9qA!T7Q*|~Z#h%Xl(#S*MT^d5AFEhoWJy;#r zXSCLXnqRc(GQlOdw%Z~q=CygUtEmm^yPjIX?8ZT!mki?y<4)@+(?x*Ko&w+`e7Mt|_jj(ptv}TC!~Es3Pb4 zYD4joxdf!*J^=KJWrjFA(7&eUgPdjhMczl>axkQeTCu_Jn6Vh4%h=aY5iIo3a>y5@V9OS&*jLi4>wB3waeg@>nk zAqv>R$tj7(!<&lQ9z$Q!grBc45ahz7deYJy45K6zNrxk_(C>cQOjh8C>EGCVdpX<}fbTR6tOr3fSPDtt{P&i#-RD??QT5XkS#5&! z6uyM(XeE7D%o$BRaog#)$I{#c-{x_E|Cx!K^x(Dc{lIl2?2TpQ8`jJ+H_h!KSY;2U zodMBZjK~CZ6&G7kJo1UjSWcVl>ba7sYgN(B@LU{>b1~%5pw87*3%lgoyr)}mo?!v< z;XV9*4gqZMdGGEh^hNTju@n$)#O{$F$y;-12}amELMjsbj!tATuq2zK{`$mm3xbXX z!<1q)tVnwGJdB|B-*1i(l z^^+{KpMH+LGwsc1qvytse*f!ElDODn5TpM=abWfZ20ySS`4SsS`?wW#Yom7(2v zfkXa0pi*}_AtqIHf5%`v(B>)-V)%=qs}`F>%LX|D!S_0OVsc3!{L@iYam~qRpgMy7 zoKwwT!@N{Hq#&P{TDN5>T!RIJSvpzq?cWUW)s6jX#HEMvB}Dk8I%g{()(?{*S#&X# z_?@gVR(VPvnkL?j=mpFNZ2OygE$*x1#FFke$Wl?$@ti~FGTjN>hvR~W7Nz_8r6nw- zbJ!soH|^h;2|w2!l9GGvQr(DLP+qb(@0u7`j)H*jff%=XzK`kJ<+6vvuV-mwP10eH zZ(Cf9K1!HLBP<>j4?Yd&Bk@JmkG}n~#=^IfR?gSH+YZ&`czi7tI&~o!ZoU~zBNNe5 zz3NfgHJ0EuUA(<}ue02CAHf@Y^6Fxe9!gv$CN6GxB3YWro?c1uQceYGjoD>2;>z+{ z`W6ZcKh=X36(1>@YwB(^te1d7JCBK>j_ouq``_fXG;Hjf%NOBO8)G}0%L}t#JWX#z zz4#_GabAjBB z)0eMxTYF;S!4MKL0w+gc(cghZOYbk$XZIKJjZR_<8i20LMmLPs_95|F_&XIngie~F zYq3}M1e?Fs1o|n_JQ76yn6QRcnfdizIdKsGtn3H*UY8FX935rY+ud!+SSedsu~^OP z+b?OJ4andAC)0)3Z7HRU2AJwbEPVGgPK62*A`eZ*dt*j-?U!M5vge$+sVXDhMRr-) z$o3~Bybuk~R*Q`H!Q)An1&f z=Z9mX**N!h`u?tLJ;2k){Y)(V3GZm?)G*0hs}Ps|N-pt4P$QSl{L`2oQ&d?@4%hd1 zhu@llWEk2aqa*pc)CERs*;!k4ER-AaYwJEw(*G^ujAu;m{c0X9 zjEFoSf%N8&!6WxehX^u1*MrXRt^M;iwT;OpYkWz=`mc+hM;2~Y_*yVsYdx6tt&H!2VedqjE+_rPzPGCRA}}OV zHtZ`omttEayy0U0@Q^&OkBsYr5vNe_qp!}uyET$i+DnxCyx+9k^fL$!Xk;Bt7YW^S z6Pd^oYfg-u*HdzG!jr%@9=&U0qhiHHN$u{IAoskZQY(FXIgzHKu8!Al-{bhTS_Xjn z1z+It@u}!wU?@)i%?OAI*RG|PrcR{068Uik>ET30DU?R~I8|c*hjGzXf6nZXak;6d zmP<1CS}}*FURFNbCvBdWAP5_TzG$5Sh4SHs!?(Jf?fxsG1&BqqDt?X=lSLLq%i3F4 zoA;F~(BfLJwxug)@B!=qZ^s3;(20qO2fzLVDIFV;h2LHB^BKoF8=HJtE_J7~rkgT4 z&kx0ipSrSwbU75nzJ%Qx=ZnSE|3#c!%9S(gltYG}2G`kai6K{-@Q4TkRTIB|_vOn( z0?@Sa(Hxug+6!r_fiFV3HR3_AIV6Tzhek4aVy}5Ch5{00G?YO1kJoKvM|PQprL^DX z?8sk$wu0)yQ8}vrvzh9_F?IP{W@H0liV|K41CILva#<5cWFFZJa8XSCJ~gpeB`QKs zw=edb5l*0l0J|yA*w4M#Wqqa{b1TTaOKEv|uLEh_BI`2LW(&G(3-F-uR_Hbaa3Z7h zo;QlBPtD6dFH`tjeT3SrjRTb}+HLM!7#J8oW-I__$|jw)khHPA8VRt5A*A=W-lG?s z&nsw)wbv}81n++j+UBZ((0$F2T3;VH3M}0!^(z_$`!h6<{q?j6>DJ}ixucW8oclZP zt$uxXSQerdrx6N-+9ZA`uC>X)XVK*Jd2r^lT^a0;CTV^+EKldNVNO;E=0wMlTyJ47 z)ri>3S^Fh&yCMbX2q94GBe*fMvZ6#C4`MR_9iUN!Y&4zthyX{XfmXj7h0Em^arVmt z;Z(Y;Gq&`#28|hfgM`UDWc={t63rP36+SsBjYG}=u6<`jF{(7EBLKW4*D-5{hJH_> zj8{^%o8O`*b#!^}db-f<*7>NHFhu+Bks~QtGI^>dk2hpMl@kpzm3Eyoiqr0>k>Ui6 zwcwRg3cB7n@5ox@Mj;&gk0^wru)dtmT7U(h4{UOj<}!uvEb>HYgB(B!x-OEn)lfu? z(W=mod85l9L5NSFdy9l;$%Pm4QTg`>e=$7l08nf9^DP>kS}BiNPJ5=aAix1d(gX}~ z06c#{JANAfLJhg>ZK{eqYO)qS=j89ar+FIDdmXhejdjbsHRD*aMK=P42FcOh)bz`? z>EoGg@Y?NkGf)&x@uwN*Em=quxHJ@$l!o|AM$y3VBiqD9U*EA|jJ6)Ppe#Q8jXU3Q zK0eC@!m8Q5D*DtBHAaGTUMo%7K5^=J%G8ngksS~Sw4RPJ5yyd!TSo2Yef_2BWcBPK zC)PJ+t#jQ^W^RDW$otNNwGrY_hegskXSdx%cZaj$oLfrK6YmKpsc^Pyj1gQP_? z-)vTA?MhTPW8kNG@z75j6>c4VJ(Z@CM8;u~J-v2?j^S)y8aah|MnBoLMa<33S^Bcb zNI^u#*rMy}`DUi4CFv8p>saYkvPXHf3N%H$0`P)6H$N)fv*mSdW1Q;fu zZnvcQ98yqiN zp1WVPlow9b(*+LnrHuWn$*vQNou+bLF*@%L*QV~T66=?UaD!2C$x!AUD3khe_$1hS z^P+N%#)#*<*Ztx%#B29A+R~ioD-2%Ie;LP<*tOw6c#;)7G%94ndIqpI z^(&XAc_8e2K3CNXmkU15t8Rprx9r4`RIZD1kbKUInr$zQH+I;F*6`dJMf_HfoZ4^A zsd^)sXzayC!#wqK$W-*+eKO4Qets049)IQQ(pl#X{6w<%+9e&#O!D|pO(lO+t(O}O z8(|fmQ~p|~+^NZ^JI*7$!9L{fAeKBtRd@vP#3UP9Zh5czj3uvJEU?uYw&T|7M@MU~ zTZO8jPF!LiklO6&h1li{bsLCubzjGBq2I*MVpcKK_F~J)P^H$hDfRqPT+*W-N;sxCF!_`{?dH2Wc9hpoa&bvPNDDP{%GVzt}Icw zMuI9LxDe$BtwxAAk#{M|k1j1#1EwE*j5gRk)LFKD2`5kM*+_Q_%eLupe~P&;HuiLI z(KMAoi>AMIwmircn7Atw)9X)(6BNhk{0y;tg!rhiPUN%{!W2-bST&fV<%??Rm1#Ws zaUIpas;#Xk)YZmwqL*qgYp3w)@Y;^vVd2Iu+;-fy#~!>Z+WI7X=;$KnD~eb^gQb{` z-r;;B!a)#qgt4l-J}2a1zU}zzSeyFL%sy-_M@Aqgp)faA#1Bqo1)h+ z;O8%`3AyJVyX&bkrl>$ss?lV}_X^dRNC&7=N2m&aw6|w*W-8WrBW&!<=bM04PcB6r zT_>TenbNrY@gR|<%@+2Ut*GoFp(pEA_r*>>F*Y`~r!BFUEeF473A_^=M8+*VHAyx4 zA7H}>@Gw}Iy~P++>Yh8simTKY@%{S@isvT>`XjV-F$=bTgkr009$V074cRn-nDB6- zcS3HbCIB#hb#)a*5HJ^zWA`k?-r>nUaciC1Zp3Zd9PLH!oykA?O6jzu`Hy90rP=9o zi?hX;{-wrd3Av_{(kRP2uN!N?_9&HV5MzA7s&=P9;WuD97S>^W=sNYwXP+6on!CUI zBOh_^`tny~&8#~LpEeQ5SOGFW{L~Je=l(B#4V32HuBfiAKDbpbo*A{&>#DLrO4sa6 zaC`24m2;A^8Rpc-0-{d5OXAJxWV?;kN5Afso5;KMWl_JnF^@5aKGOd?Hf*lGyCdwl zkHoVcD(xP4JwHse>0uhE=3g80Fw0uSKam6e``p!B5uWJ)Q@4Ld!P)oSx^z5~p;C$3 zw`bpDLbWSmMn57P@tnGdv2R{`+SKgSp4IMLoV~lPQ2gxJ{bh(xNpO+=*YB_bv=n?l z*a7JZZH6obhi}Da_gYnVStR=hD`P1GofF@!Yy}s;0>4}6Eu$*FyephX70P~Kx}4Aj zOG$~OJ10=A-WXIgKlEN?+`IH}!Lz(j#Rj`Kd=ORnbNSkIW5XYSEf5Yb3G%KM=hj>P z8<>_T_0RRzURPm%)|;4F&`{B159ONrk=}J{k9YBP@F*B~5Z#4mmWKXirp1gD~caNr)a(m*WkOb2``&s74er0~|qcXw> zM|jz;^&7zZ&Hn@ZRc#8)S$VM1nDdj}>vD*XttbR=i!s9IkG9v7Lp;{K{CYjCwDQYC zZxP>I+3HYoFvSRUht;E2)vIJ#4L>v z;or`2uC&INqW>gXG|SCphmP+N=Q!zbT%5lJU4j7a$bYeF0fcjcWI`B^BZ;zW`uo|_ zA=lj6rHf~akgCpxYWEy@3KN&rSCMyLIR+f`VAlpf(J82;q3LF$G|A(JQB>&O!qov+ z-mpZfOv#|bBZzr!?7-O_wcX=_o0TiZ$7;9WxdC$bvZx58)TsD>+E?495>=7n_=7cPZw6>B}@va|A8!GGhe{;y(~%e6k=t;N1c?pcyXp^EmmB_HwV@!s`9YalKc1Y z5?}*2{&xh~2I`N|e2n6S|WX=bX`Cg_b0a!}X{JEsX*AS>a8E&|Bf z`BO=L=?D!?BlXlY{E}SAn||?iFZ0rctI-F>Sh@lxp`H)%RXP3l^RE^d(MS-UX>iXL zE-TSqO+T0vcMdpD3^DLO!Z8!d4@=xQ;=p-RDH3SdpSlHgOQNRYLqD-usp{l5$SNv> zg5HLNNZO5O1>$ppH(^7MEc zM6w3en7qK1$lJ9DEE>31TsZ_zpxRL2{9b<-P_ytZ?E?24GI|uEYh0==AhPw9@Vhjb ze})FzECV*9DnmRBdjvZ5O^a1is^=RgvbnkSX7k!p+GW+F`IvPhD@h@~nmp_Q#Xv(p z)rR)}$xEOlQ72J>WXzp4Rw>az(Q2p`0M;74Tdu!pih`|%lf)8)Pr*btja3ueRd-TS z@|I+zZjdn4+&bfv6R=-kGF(zQOcqR(f&VfDfLK42NcM1wgQEK+VEAw=%OI=K5{8^1 zskE!f(+lQL;sJXy_bi1dreL?dH$T)s_#y--5xv27p7=TpR#GLj`tEI1My%Qps{c7M za>H?)N!mTRq$Eb)D8(&8UF#J~ z3Xx=G>9Dl57eEE73I(5%toi#XqZFBw>Eo3slO^%dn!@2(<|~SHnYSMCQG0uTtLSwT zu~Y$-U$L$z82-XgYLA|#ey&urZMVuUCllH2Z5z9+*eBc_2R&lDaPxjuUvJu1fl@qTT#orZAWL||0veGFL4i?XoRY->)l2~> z2p?)*K^Y90rS-A|vV5UN-|aAE{?_|oZ*n5UAT`{O2yvlIuURA@G+(W>I|-PxIAcfyf?)#=jrg*(r! zl7Q>q{r?b}d4$IsQsG7V%)ekZ2_~2%^eJqQPlE7o{V{8T^h9{9fn;ny#5%aE2U!ZF z87Y@+{FuUqjN@UPlCinMvNrLA-;iD*>@}RO>ogvEw{-iOY*nQ_*xlol6!_#oVScm2 z*}EfLDjjoxq1e22+A83;A!J-Dh${ECLYe^t%ittv?-d0+cD>5=q`wx?K2%QLU)doggq z{i4Wg|Ev}(q;tu6C7%xa2j2Ul-)uWCNJ3497ee=48L!YHU;}DCK;Lk2(KMx$kT=$f zOYfjU=iv3ch={A!?-6P66%Ym|Y0zPl&{2G_I@R*j*ww3&&YAI<^-X zOMz{$};&y=6u{&Bru*<)A^>-P+cIcIrQ?262Zk}$T^ z{?U{?sD&buM7-xS3i&@IErK~i9GiO*8tgn~WqsSvS~_9j+}3VCu{WDAd4)n%Q9}%- zW^j?YhXjjeId#vy9f z6k0{dH`!nYr|%H9(SbP}?5of#XD8q0K6X~K9nd(%=W|i+iLrJ!RNVYHZ?KcENKofy zjwbV32uRr^(Ph*^f7p(Ec|^vnJrt{L=Vx`9ay5f-cSLw8*MHaS@f!e52KUG0E0R+q za!5bRjd`n0nN&nuLL(<$0<|mp!I{1Petg!tk*M4J5GedIc{yq;9GUbbb~@mP`gH~Q zYVWTRNG&l|Z74q8yEjo>1ypN;VYTrCw(VQ$E3c!K6&>zx^n!hqN^^$PvCcL(cg{AR z`Cl-)_N8-D*NpZ5L0-oF-QY`cCOS0*?==Q=sUFVnD+LX*R%2Lauee7Bcfh2!Q-#yE zBYn+ruXlFsSCIcEwk$&(^a$r&fJ_FEzt|Eec%`^h`?oM6BpTx#4{`wa1|Zi`jh;*4 z07`KtUS{1+-_y=!zb!Uh=u__?9Wp=W4S)R!Nc`~d5L~DR+{^SAQAR3_ zaeLYOi-2rI5F~DvNf<~WIW|Y_c@$*NZRn@WedOR+hRU@wkCgF|IFkY?K_Dyxpkw+( zs&u6oQHI?@z(@4jL=aI1p`gjZ%QIak49Gfu=3ugN|6Da(S22}gvs@sF9~xM##H!uE zpg)dM^2?_c~4Kk1%dA~0w=D9*OrELIV zT@wO+a}D^2zn)%C{uo%R&yyjYpEZZW)o#)LaQNP@c8F_gVv`(PY5E-a+ZI-{w$cjW zBw%0q_xca6!AbrWjmo!;vMkulflhsVQ93CZ{1(SENnhxo zoG9=HmtpUis=4aK%O*39HS_M#6RnIk~tr!psH7z*sDv$IQub8Rqu5Q^$Q=tkl!}QPD;kUT!W-a&j^wBV$-SzT}ev zuzyK)OPo=DE4C*Sk0JJdhmiyLF}#=f`4V^LQ8C;zQDc(?*E5frPL`xwrl@O*E-~Gh zc8FodrXXL;CbEBR^oCB&B;KWJ1I@Ex2?@BYU!dst`1mj|RDB{aFYJZhz`fxTOMU7t z>0j*Wqtvx}P#T>CL(c#FWv%cT^nXPCN&hJWET;oM=Nzx*tAadbT@@-x)dn=H>>nR1 zSv;Pe+Vb%87qqpJmTOi9%pAbOAXB|i7kX2FwqxkHY3RmjbKFOKS&SDbQJU{XJ*&su z_=6@@;=xG5A;OK6P9!@F2qqZ{(N-INglRLaa&vJp0($nCLO%frDWCOP2N@9FM*6nM zFeRJKi+0=$7@$MOD3H`q%gr}F<{oTgSg(kMk@OZY&C*YQo+h7jjv@Q=#_d-%o@CRT z+|Eu4AZC{E^Lzc_Mu3i33v?)1FVwsNMhQuVdA+HCJGZP`>hAt%z2HZtx3#5_c%g3w z;&?qlgg#9Mqf4!n@x?=@ZTmk`!6&J$!P@tGpEk_v_X6y;MJBI+2un&!!z)+{hcSAa z-Zqe{FL!bzIk#C-&xxf(KgiXwHO!oVW{#6nii5Up1>eAkKAlS~*Dy0N$+yG;3@O`t zdtb7}{9c6F_1i$tzgzZ`_m@K1F_%MTVO3BJb@5jSVP>Kbm{LmizPr%BN?94>dqxHhX6$tk z(3`$~`?%rQJUKTPvaw+_a+Blz7o|$SJz{gy7-le0jh!2POT+o()tfJ1oI{Rn*>{pR zfCG_^AX%{HB%PG!$pc1;20}6O)XF`1rOUo+ik8_#+J9Yhy(Q#s1nP93wg}P7PIAQg zrjGZN7Iq3gSm@QUX0LB(SmZ+vmNd7vjzVDrNHu_QIY197FfSmlpa2fYwV*`yop?E{ z(5!Y^i`ia(2KRJwyv5UT;zrnAOZL~Bhz*`iSCKoPd4_{7W1%zE`;y}YMcR(sxEv3D%FE%hOfB ztdAUVRTDB;%KgY7Ixv!n)honx#KRabHF=S&wkY!z^>)Uk2_kwz!BlXv;14NGYO!SB z+uo+NIl6HFw^6RGQ;Un?s*LbC6QN5>I?LsuQ=2zFydAE2EcbF}8L9q7$+mA>q6WpE zB<<*lwH6FSqWC6=E+1y4Pr{tvK_J@iI9*L!4B6d9ef0p&xtuvQ~`Fh}&i3yce<7-ROU4l!9uZjGdgk z=u`hG)Wbp(Hz^wb``2+9@hhiH=qCYESxW4#7&0MhkxE{xIa*COKixY9Fi< z@&y1?a;9 z=8qb9z4%pe?tX2dIe`9mH%2Y$41h$P{(?TN?69Y>PR`D4bXfUb@ z2=Ps!c%?vPnc>m9MnWC5_Vl}xTc>r7_4e2!<a;0BpETy3k0KYYQ3Vd;7F#4UD)#GijGEmGmgGyOtKA z&X+GZsKJvnGjP3}s@mFNZEeEB04@1cBRdRCl3KfD*j^BJsJf3>xTV`|^twT++{IdU zbpXpU)%p4#qB~a$`rY?z63I3H`}QF1tshCZ5bLVzkfCEOrt327O&6-Zpgo=J)1?E~ zD2p3o!(Z`gq7k*F!CI(Pb%}h44@qi|{k@xOjgPBE<^Sg<@=+7mEg*<`{R&4A=#zpT z%p}5klMzTR@pPR}$@IiosGrBHP|px2zGM1c6mWvj;UdH8ySu2VZ8&Sfz$ECvSBU@r etN$mGxDeCtB0oZ+Uk-!;KJqdjq^l$i1O6BH&5khu literal 0 HcmV?d00001 diff --git a/skin/default/xubox_loading0.gif b/skin/default/xubox_loading0.gif new file mode 100644 index 0000000000000000000000000000000000000000..6f3c9539a22171cc2f12639492e346d97a9078e8 GIT binary patch literal 5793 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 bWW^%>x7XlHV^#Q1uOX^B?ki3(VEg|7!QHuF literal 0 HcmV?d00001 diff --git a/skin/default/xubox_loading1.gif b/skin/default/xubox_loading1.gif new file mode 100644 index 0000000000000000000000000000000000000000..db3a483e4b74971fbfb1cc0fb6499852cedfe650 GIT binary patch literal 701 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 Date: Mon, 25 Aug 2014 12:52:45 +0800 Subject: [PATCH 04/17] Update README.md --- README.md | 45 --------------------------------------------- 1 file changed, 45 deletions(-) diff --git a/README.md b/README.md index 91c210b..e69de29 100644 --- a/README.md +++ b/README.md @@ -1,45 +0,0 @@ - -## 简要 -layer是一款口碑非常不错的web弹层组件,她具备全方位的解决方案,致力于服务各个水平段的开发人员,您的页面会轻松地拥有丰富而友好的操作体验。 - -在与同类弹出层插件的比较中,layer总是能轻易获胜。她尽可能地在以更少的代码展现更强健的功能,且格外注重性能的提升、易用和实用性,正因如此,越来越多的开发者将媚眼投上了layer。layer兼容了包括IE6在内的所有主流浏览器。 她数量可观的接口,使得您可以自定义太多您需要的风格,每一种弹层模式各具特色,皆广受欢迎。当然,这种“王婆卖瓜”的陈述听起来总是有点难受,因此你需要进一步了解她是否真的如你所愿。 - -## 愿景 -致力于打造国内最盛行的弹层组件,为web开发提供强劲动力。 - -## 现状 -从两年前初出茅庐,到后来成为小众组件,再发展到今天,已为数以万计的人所熟知。 -据不完全统计,截至到2014年5月13号,layer已服务于15万多家web平台。 -其中包括: -* [中国联通](http://app.10010.com/) -* [蚂蚁短租](http://www.mayi.com/) -* [phpyun](http://www.phpyun.com/) -* [卡牌网](http://www.kapai.com/) -* [八圆包](http://www.bayuanbao.com/) - - -事实上我们无法获取到更多案例,所以如果您有大型项目也在使用layer,您可以联系作者,以便在layer官网展现,也为您的品牌推广尽一些绵薄之力。 - -## 日志 -【1.8.5更新日志】 -* 新增对title样式的自定义控制 -* 修复layer.prompt多行文本,设置默认值无效的bug - -【1.8.4更新日志】 -* 新增浏览器窗口尺寸改变时的自适应定位 -* 新增属性shift,用于配置动画弹出(需要注意的是,之前的layer.shift()方法将在layer1.9遗弃,用shift属性取代) -* 新增方法layer.title(name, index); 用于动态改变层的标题。 -* 修改弹出层默认初始坐标为垂直左右居中。 -* 开放多个tips,可通过配置tips: {more: true}开启。 -* 进一步完善tips的智能定位。 -* 放弃layer.ready方法,用jQuery的ready取代。 -* 进一步优化内部代码 - -== 拓展模块 == -* layer.prompt支持给表单传入默认值,如layer.prompt({val:'默认'}); 新增yes回调函数第二个参数为索引、第三个参数为表单元素。 -* 相册层新增tab回调函数,用于切换图片时进行相关操作 -* 相册层内部代码优化。 - - -## 备注 -[官网](http://sentsin.com/jquery/layer/)、[更新日志](https://github.com/sentsin/layer/blob/master/Update%20Notes.txt)、[Say交流](http://say.sentsin.com/home-48.html) \ No newline at end of file From eb3c076a97207be4c3fe1788237b9e8c4ac1054b Mon Sep 17 00:00:00 2001 From: sentsin Date: Mon, 25 Aug 2014 13:27:59 +0800 Subject: [PATCH 05/17] layer-v1.8.5 - layer mobile-v1.0 --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index daf4395..0c82344 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,11 @@ - + ## 简要 layer是一款口碑非常不错的web弹层组件,她具备全方位的解决方案,致力于服务各个水平段的开发人员,您的页面会轻松地拥有丰富而友好的操作体验。 在与同类弹出层插件的比较中,layer总是能轻易获胜。她尽可能地在以更少的代码展现更强健的功能,且格外注重性能的提升、易用和实用性,正因如此,越来越多的开发者将媚眼投上了layer。layer兼容了包括IE6在内的所有主流浏览器。 她数量可观的接口,使得您可以自定义太多您需要的风格,每一种弹层模式各具特色,皆广受欢迎。当然,这种“王婆卖瓜”的陈述听起来总是有点难受,因此你需要进一步了解她是否真的如你所愿。 +[文档与演示](http://sentsin.com/layui/layer/) + ## 愿景 致力于打造国内最盛行的弹层组件,为web开发提供强劲动力。 From 80d25f9d7e2342a68387b14e6a3aafab88fb443f Mon Sep 17 00:00:00 2001 From: sentsin Date: Mon, 25 Aug 2014 13:30:49 +0800 Subject: [PATCH 06/17] layer-v1.8.5 - layer mobile-v1.0 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0c82344..dcbd021 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ layer是一款口碑非常不错的web弹层组件,她具备全方位的解决 在与同类弹出层插件的比较中,layer总是能轻易获胜。她尽可能地在以更少的代码展现更强健的功能,且格外注重性能的提升、易用和实用性,正因如此,越来越多的开发者将媚眼投上了layer。layer兼容了包括IE6在内的所有主流浏览器。 她数量可观的接口,使得您可以自定义太多您需要的风格,每一种弹层模式各具特色,皆广受欢迎。当然,这种“王婆卖瓜”的陈述听起来总是有点难受,因此你需要进一步了解她是否真的如你所愿。 -[文档与演示](http://sentsin.com/layui/layer/) +[文档与演示](http://sentsin.com/jquery/layer/) ## 愿景 致力于打造国内最盛行的弹层组件,为web开发提供强劲动力。 From 2c75e96c9e5a43cc0ad73a051a8f593eae6788ad Mon Sep 17 00:00:00 2001 From: sentsin Date: Wed, 10 Sep 2014 10:18:39 +0800 Subject: [PATCH 07/17] 1.8.5 --- CHANGELOG.md | 20 +++ README.md | 20 --- extend/layer.ext.dev.js | 365 ++++++++++++++++++++++++++++++++++++++ extend/layer.ext.js | 367 +-------------------------------------- layer.js | 18 +- layer.min.js | 18 +- m/README.md | 14 -- m/layer.m.dev.js | 26 +-- m/layer.m.js | 4 +- m/need/layer.css | 21 ++- {demo => test}/demo.html | 2 +- 11 files changed, 433 insertions(+), 442 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 extend/layer.ext.dev.js delete mode 100644 m/README.md rename {demo => test}/demo.html (98%) diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..e17e611 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,20 @@ + + +【1.8.5】 +* 新增对title样式的自定义控制 +* 修复layer.prompt多行文本,设置默认值无效的bug + +【1.8.4】 +* 新增浏览器窗口尺寸改变时的自适应定位 +* 新增属性shift,用于配置动画弹出(需要注意的是,之前的layer.shift()方法将在layer1.9遗弃,用shift属性取代) +* 新增方法layer.title(name, index); 用于动态改变层的标题。 +* 修改弹出层默认初始坐标为垂直左右居中。 +* 开放多个tips,可通过配置tips: {more: true}开启。 +* 进一步完善tips的智能定位。 +* 放弃layer.ready方法,用jQuery的ready取代。 +* 进一步优化内部代码 + +== 拓展模块 == +* layer.prompt支持给表单传入默认值,如layer.prompt({val:'默认'}); 新增yes回调函数第二个参数为索引、第三个参数为表单元素。 +* 相册层新增tab回调函数,用于切换图片时进行相关操作 +* 相册层内部代码优化。 diff --git a/README.md b/README.md index dcbd021..28af29d 100644 --- a/README.md +++ b/README.md @@ -22,26 +22,6 @@ layer是一款口碑非常不错的web弹层组件,她具备全方位的解决 事实上我们无法获取到更多案例,所以如果您有大型项目也在使用layer,您可以联系作者,以便在layer官网展现,也为您的品牌推广尽一些绵薄之力。 -## 日志 -【1.8.5更新日志】 -* 新增对title样式的自定义控制 -* 修复layer.prompt多行文本,设置默认值无效的bug - -【1.8.4更新日志】 -* 新增浏览器窗口尺寸改变时的自适应定位 -* 新增属性shift,用于配置动画弹出(需要注意的是,之前的layer.shift()方法将在layer1.9遗弃,用shift属性取代) -* 新增方法layer.title(name, index); 用于动态改变层的标题。 -* 修改弹出层默认初始坐标为垂直左右居中。 -* 开放多个tips,可通过配置tips: {more: true}开启。 -* 进一步完善tips的智能定位。 -* 放弃layer.ready方法,用jQuery的ready取代。 -* 进一步优化内部代码 - -== 拓展模块 == -* layer.prompt支持给表单传入默认值,如layer.prompt({val:'默认'}); 新增yes回调函数第二个参数为索引、第三个参数为表单元素。 -* 相册层新增tab回调函数,用于切换图片时进行相关操作 -* 相册层内部代码优化。 - ## 备注 [官网](http://sentsin.com/jquery/layer/)、[更新日志](https://github.com/sentsin/layer/blob/master/Update%20Notes.txt)、[Say交流](http://say.sentsin.com/home-48.html) \ No newline at end of file diff --git a/extend/layer.ext.dev.js b/extend/layer.ext.dev.js new file mode 100644 index 0000000..351ebab --- /dev/null +++ b/extend/layer.ext.dev.js @@ -0,0 +1,365 @@ +/** + + @Name: layer拓展类,依赖于layer + @Date: 2014.08.13 + @Author: 贤心 + @Versions:1.8.5-ext + @Api:http://sentsin.com/jquery/layer + @Desc: 本拓展会持续更新 + + */ + +layer.use('skin/layer.ext.css', function(){ + layer.ext && layer.ext(); +}); + + +/** + + 系统prompt + +*/ + +layer.prompt = function(parme, yes, no){ + var log = {}, parme = parme || {}, conf = { + area: ['auto', 'auto'], + offset: [parme.top || '', ''], + title: parme.title || '信息', + dialog: { + btns: 2, + type: -1, + msg: '', + yes: function(index){ + var val = log.prompt.val(); + if(val === ''){ + log.prompt.focus(); + } else if(val.replace(/\s/g, '').length > (parme.length || 1000)) { + layer.tips('最多输入'+ (parme.length || 1000) +'个字数', '#xubox_prompt', 2); + } else { + yes && yes(val, index, log.prompt); + } + + }, no: no + }, success: function(){ + log.prompt = $('#xubox_prompt'); + log.prompt.focus(); + } + }; + if(parme.type === 3){ + conf.dialog.msg = '' + } + return $.layer(conf); +}; + + +/** + + tab层 + +*/ + +layer.tab = function(parme){ + var log = {}, parme = parme || {}, data = parme.data || [], conf = { + type: 1, + border: [0], + area: ['auto', 'auto'], + bgcolor: '', + title: false, + shade : parme.shade, + offset: parme.offset, + move: '.xubox_tabmove', + closeBtn: false, + page: {html: '
'; + }() + +'' + +'
' + +function(){ + var len = data.length, ii = 1, str = ''; + if(len > 0){ + str = ''+ data[0].title +''; + for(; ii < len; ii++){ + str += ''+ data[ii].title +''; + } + } + return str; + }() +'
' + +'
    '+ function(){ + var len = data.length, ii = 1, str = ''; + if(len > 0){ + str = '
  • '+ (data[0].content || 'no content') +'
  • '; + for(; ii < len; ii++){ + str += '
  • '+ (data[ii].content || 'no content') +'
  • '; + } + } + return str; + }() +'
' + +'X' + +'
' + }, success: function(layerE){ + //切换事件 + var btn = $('.xubox_tabtit').children(), main = $('.xubox_tab_main').children(), close = $('.xubox_tabclose'); + btn.on('click', function(){ + var othis = $(this), index = othis.index(); + othis.addClass('xubox_tabnow').siblings().removeClass('xubox_tabnow'); + main.eq(index).show().siblings().hide(); + }); + //关闭层 + close.on('click', function(){ + layer.close(layerE.attr('times')); + }); + } + }; + return $.layer(conf); +}; + + + +/** + + 相册层 + +*/ + + +layer.photos = function(options){ + options = options || {}; + var log = { + imgIndex: 1, + end: null, + html: $('html') + }, win = $(window), json = options.json, page = options.page; + + if(json){ + var data = json.data; + if(json.status === 1){ + log.imgLen = data.length; + if(data.length > 0){ + log.thissrc = data[json.start].src; + log.pid = data[json.start].pid; + log.imgsname = (json.title || ''); + log.name = data[json.start].name; + log.imgIndex = json.start + 1; + } else { + layer.msg('没有任何图片', 2, 8); + return; + } + + } else { + layer.msg('未请求到数据', 2, 8); + return; + } + } else { + var imgs = $(page.parent).find('img'), nowimg = imgs.eq(page.start); + log.thissrc = (nowimg.attr('layer-img') || nowimg.attr('src')); + log.pid = nowimg.attr('pid'); + log.imgLen = imgs.length; + log.imgsname = (page.title || ''); + log.name = nowimg.attr('alt'); + log.imgIndex = page.start + 1; + } + + var conf = { + type: 1, + border: [0], + area: [(options.html ? 915 : 600) + 'px', 'auto'], + title: false, + shade: [0.9, '#000', true], + shadeClose: true, + offset: ['25px', ''], + bgcolor: '', + page: { + html: '
'+ (log.name || '') +'
'+ function(){ + if(log.imgLen > 1){ + return '' + } else { + return ''; + } + }() +'
'+ log.imgsname +' '+ log.imgIndex +'/'+ log.imgLen +'
'+ function(){ + if(options.html){ + return '
'+ options.html +'
'; + } else { + return ''; + } + }() + }, success: function(layero){ + log.bigimg = layero.find('.xubox_bigimg'); + log.imgsee = log.bigimg.find('.xubox_imgsee'); + log.imgbar = log.imgsee.find('.xubox_imgbar'); + log.imgtit = log.imgbar.find('.xubox_imgtit'); + log.layero = layero; + + var img = log.imgs = log.bigimg.find('img'); + + clearTimeout(log.timerr); + log.timerr = setTimeout(function(){ + $('html').css('overflow', 'hidden').attr('layer-full', log.index); + }, 10); + + img.load(function(){ + log.imgarea = [img.outerWidth(), img.outerHeight()]; + log.resize(layero); + }); + + log.event(); + + }, end: function(){ + layer.closeAll(); + log.end = true; + } + }; + + //一些动作 + log.event = function(){ + log.bigimg.hover(function(){ + log.imgsee.show(); + }, function(){ + log.imgsee.hide(); + }); + + //上一张 + conf.imgprev = function(){ + log.imgIndex--; + if(log.imgIndex < 1){ + log.imgIndex = log.imgLen; + } + log.tabimg(); + }; + log.bigimg.find('.xubox_prev').on('click', function(event){ + event.preventDefault(); + conf.imgprev(); + }); + + //下一张 + conf.imgnext = function(){ + log.imgIndex++; + if(log.imgIndex > log.imgLen){ + log.imgIndex = 1; + } + log.tabimg() + }; + log.bigimg.find('.xubox_next').on('click', function(event){ + event.preventDefault(); + conf.imgnext(); + }); + + //方向键 + $(document).keyup(function(event){ + if(!log.end){ + var code = event.keyCode; + event.preventDefault(); + if(code === 37){ + conf.imgprev(); + } else if(code === 39) { + conf.imgnext(); + } else if(code === 27) { + layer.close(log.index); + } + } + }); + + + log.tabimg = function(){ + var timer, src, pid, name; + log.imgs.removeAttr('style'); + if(json){ + var nowdata = data[log.imgIndex - 1]; + src = nowdata.src; + pid = nowdata.pid; + name = nowdata.name; + } else { + var thisimg = imgs.eq(log.imgIndex - 1); + src = thisimg.attr('layer-img') || thisimg.attr('src'); + pid = thisimg.attr('layer-pid') || ''; + name = thisimg.attr('alt') || ''; + } + log.imgs.attr({ + src: src, + 'layer-pid': pid, + alt: name + }); + log.imgtit.find('em').text(log.imgIndex + '/' + log.imgLen); + log.imgsee.show(); + options.tab && options.tab({pid: pid, name: name}); + } + }; + + //相册响应式 + log.resize = function(layero){ + var relog = {}, wa = [win.width(), win.height()]; + relog.limit = wa[0] - wa[0]/wa[1]*(60*wa[0]/wa[1]); + if(relog.limit < 600){ + relog.limit = 600; + } + var area = [relog.limit, wa[1] > 400 ? wa[1] - 50 : 400]; + area[0] = options.html ? area[0] : (area[0] - 300); + layer.area(log.index, { + width: area[0] + (options.html ? 15 : 0), + height: area[1] + }); + relog.flwidth = area[0] - (options.html ? 300 : 0); + if(log.imgarea[0] > relog.flwidth){ + log.imgs.css({width: relog.flwidth}); + } else { + log.imgs.css({width: log.imgarea[0]}); + } + if(log.imgs.outerHeight() < area[1]){ + log.imgs.css({top: (area[1] - log.imgs.outerHeight())/2}); + } + log.imgs.css({visibility: 'visible'}); + log.bigimg.css({width: relog.flwidth, height: area[1], 'background-color': options.bgcolor}); + if(options.html){ + layero.find('.xubox_intro').css({height: area[1]}); + } + relog = null; + wa = null; + area = null; + }; + + win.on('resize', function(){ + if(log.end){ + return; + } + if(log.timer){ + clearTimeout(log.timer); + } + log.timer = setTimeout(function(){ + log.resize(log.layero); + }, 200); + }); + + log.index = $.layer(conf); + return log.index; +}; + +//获取页面元素包含的所有图片,快捷调用 +layer.photosPage = function(options){ + var log = {}; + log.run = function(index){ + layer.photos({ + html: options.html, + success: options.success, + page: { + title: options.title, + id: options.id, + start: index, + parent: options.parent + } + }); + }; + options = options || {}; + $(options.parent).find('img').each(function(index){ + $(this).on('click', function(){ + log.run(index); + }); + }); +}; diff --git a/extend/layer.ext.js b/extend/layer.ext.js index 446f35f..c27bf85 100644 --- a/extend/layer.ext.js +++ b/extend/layer.ext.js @@ -1,365 +1,2 @@ -/** - - @Name: layer拓展类,依赖于layer - @Date: 2014.08.13 - @Author: 贤心 - @Versions:1.8.5-ext - @Api:http://sentsin.com/jquery/layer - @Desc: 本拓展会持续更新 - - */ - -layer.use('skin/layer.ext.css', function(){ - layer.ext && layer.ext(); -}); - - -/** - - 系统prompt - -*/ - -layer.prompt = function(parme, yes, no){ - var log = {}, parme = parme || {}, conf = { - area: ['auto', 'auto'], - offset: [parme.top || '', ''], - title: parme.title || '信息', - dialog: { - btns: 2, - type: -1, - msg: '', - yes: function(index){ - var val = log.prompt.val(); - if(val === ''){ - log.prompt.focus(); - } else if(val.replace(/\s/g, '').length > (parme.length || 1000)) { - layer.tips('最多输入'+ (parme.length || 1000) +'个字数', '#xubox_prompt', 2); - } else { - yes && yes(val, index, log.prompt); - } - - }, no: no - }, success: function(){ - log.prompt = $('#xubox_prompt'); - log.prompt.focus(); - } - }; - if(parme.type === 3){ - conf.dialog.msg = '' - } - return $.layer(conf); -}; - - -/** - - tab层 - -*/ - -layer.tab = function(parme){ - var log = {}, parme = parme || {}, data = parme.data || [], conf = { - type: 1, - border: [0], - area: ['auto', 'auto'], - bgcolor: '', - title: false, - shade : parme.shade, - offset: parme.offset, - move: '.xubox_tabmove', - closeBtn: false, - page: {html: '
'; - }() - +'' - +'
' - +function(){ - var len = data.length, ii = 1, str = ''; - if(len > 0){ - str = ''+ data[0].title +''; - for(; ii < len; ii++){ - str += ''+ data[ii].title +''; - } - } - return str; - }() +'
' - +'
    '+ function(){ - var len = data.length, ii = 1, str = ''; - if(len > 0){ - str = '
  • '+ (data[0].content || 'content未传入') +'
  • '; - for(; ii < len; ii++){ - str += '
  • '+ (data[ii].content || 'content未传入') +'
  • '; - } - } - return str; - }() +'
' - +'X' - +'
' - }, success: function(layerE){ - //切换事件 - var btn = $('.xubox_tabtit').children(), main = $('.xubox_tab_main').children(), close = $('.xubox_tabclose'); - btn.on('click', function(){ - var othis = $(this), index = othis.index(); - othis.addClass('xubox_tabnow').siblings().removeClass('xubox_tabnow'); - main.eq(index).show().siblings().hide(); - }); - //关闭层 - close.on('click', function(){ - layer.close(layerE.attr('times')); - }); - } - }; - return $.layer(conf); -}; - - - -/** - - 相册层 - -*/ - - -layer.photos = function(options){ - options = options || {}; - var log = { - imgIndex: 1, - end: null, - html: $('html') - }, win = $(window), json = options.json, page = options.page; - - if(json){ - var data = json.data; - if(json.status === 1){ - log.imgLen = data.length; - if(data.length > 0){ - log.thissrc = data[json.start].src; - log.pid = data[json.start].pid; - log.imgsname = (json.title || ''); - log.name = data[json.start].name; - log.imgIndex = json.start + 1; - } else { - layer.msg('没有任何图片', 2, 8); - return; - } - - } else { - layer.msg('未请求到数据', 2, 8); - return; - } - } else { - var imgs = $(page.parent).find('img'), nowimg = imgs.eq(page.start); - log.thissrc = (nowimg.attr('layer-img') || nowimg.attr('src')); - log.pid = nowimg.attr('pid'); - log.imgLen = imgs.length; - log.imgsname = (page.title || ''); - log.name = nowimg.attr('alt'); - log.imgIndex = page.start + 1; - } - - var conf = { - type: 1, - border: [0], - area: [(options.html ? 915 : 600) + 'px', 'auto'], - title: false, - shade: [0.9, '#000', true], - shadeClose: true, - offset: ['25px', ''], - bgcolor: '', - page: { - html: '
'+ (log.name || '') +'
'+ function(){ - if(log.imgLen > 1){ - return '' - } else { - return ''; - } - }() +'
'+ log.imgsname +' '+ log.imgIndex +'/'+ log.imgLen +'
'+ function(){ - if(options.html){ - return '
'+ options.html +'
'; - } else { - return ''; - } - }() - }, success: function(layero){ - log.bigimg = layero.find('.xubox_bigimg'); - log.imgsee = log.bigimg.find('.xubox_imgsee'); - log.imgbar = log.imgsee.find('.xubox_imgbar'); - log.imgtit = log.imgbar.find('.xubox_imgtit'); - log.layero = layero; - - var img = log.imgs = log.bigimg.find('img'); - - clearTimeout(log.timerr); - log.timerr = setTimeout(function(){ - $('html').css('overflow', 'hidden').attr('layer-full', log.index); - }, 10); - - img.load(function(){ - log.imgarea = [img.outerWidth(), img.outerHeight()]; - log.resize(layero); - }); - - log.event(); - - }, end: function(){ - layer.closeAll(); - log.end = true; - } - }; - - //一些动作 - log.event = function(){ - log.bigimg.hover(function(){ - log.imgsee.show(); - }, function(){ - log.imgsee.hide(); - }); - - //上一张 - conf.imgprev = function(){ - log.imgIndex--; - if(log.imgIndex < 1){ - log.imgIndex = log.imgLen; - } - log.tabimg(); - }; - log.bigimg.find('.xubox_prev').on('click', function(event){ - event.preventDefault(); - conf.imgprev(); - }); - - //下一张 - conf.imgnext = function(){ - log.imgIndex++; - if(log.imgIndex > log.imgLen){ - log.imgIndex = 1; - } - log.tabimg() - }; - log.bigimg.find('.xubox_next').on('click', function(event){ - event.preventDefault(); - conf.imgnext(); - }); - - //方向键 - $(document).keyup(function(event){ - if(!log.end){ - var code = event.keyCode; - event.preventDefault(); - if(code === 37){ - conf.imgprev(); - } else if(code === 39) { - conf.imgnext(); - } else if(code === 27) { - layer.close(log.index); - } - } - }); - - - log.tabimg = function(){ - var timer, src, pid, name; - log.imgs.removeAttr('style'); - if(json){ - var nowdata = data[log.imgIndex - 1]; - src = nowdata.src; - pid = nowdata.pid; - name = nowdata.name; - } else { - var thisimg = imgs.eq(log.imgIndex - 1); - src = thisimg.attr('layer-img') || thisimg.attr('src'); - pid = thisimg.attr('layer-pid') || ''; - name = thisimg.attr('alt') || ''; - } - log.imgs.attr({ - src: src, - 'layer-pid': pid, - alt: name - }); - log.imgtit.find('em').text(log.imgIndex + '/' + log.imgLen); - log.imgsee.show(); - options.tab && options.tab({pid: pid, name: name}); - } - }; - - //相册响应式 - log.resize = function(layero){ - var relog = {}, wa = [win.width(), win.height()]; - relog.limit = wa[0] - wa[0]/wa[1]*(60*wa[0]/wa[1]); - if(relog.limit < 600){ - relog.limit = 600; - } - var area = [relog.limit, wa[1] > 400 ? wa[1] - 50 : 400]; - area[0] = options.html ? area[0] : (area[0] - 300); - layer.area(log.index, { - width: area[0] + (options.html ? 15 : 0), - height: area[1] - }); - relog.flwidth = area[0] - (options.html ? 300 : 0); - if(log.imgarea[0] > relog.flwidth){ - log.imgs.css({width: relog.flwidth}); - } else { - log.imgs.css({width: log.imgarea[0]}); - } - if(log.imgs.outerHeight() < area[1]){ - log.imgs.css({top: (area[1] - log.imgs.outerHeight())/2}); - } - log.imgs.css({visibility: 'visible'}); - log.bigimg.css({width: relog.flwidth, height: area[1], 'background-color': options.bgcolor}); - if(options.html){ - layero.find('.xubox_intro').css({height: area[1]}); - } - relog = null; - wa = null; - area = null; - }; - - win.on('resize', function(){ - if(log.end){ - return; - } - if(log.timer){ - clearTimeout(log.timer); - } - log.timer = setTimeout(function(){ - log.resize(log.layero); - }, 200); - }); - - log.index = $.layer(conf); - return log.index; -}; - -//获取页面元素包含的所有图片,快捷调用 -layer.photosPage = function(options){ - var log = {}; - log.run = function(index){ - layer.photos({ - html: options.html, - success: options.success, - page: { - title: options.title, - id: options.id, - start: index, - parent: options.parent - } - }); - }; - options = options || {}; - $(options.parent).find('img').each(function(index){ - $(this).on('click', function(){ - log.run(index); - }); - }); -}; +/*! layer弹层拓展类 */ +;layer.use("skin/layer.ext.css",function(){layer.ext&&layer.ext()}),layer.prompt=function(a,b,c){var d={},a=a||{},e={area:["auto","auto"],offset:[a.top||"",""],title:a.title||"信息",dialog:{btns:2,type:-1,msg:'',yes:function(c){var e=d.prompt.val();""===e?d.prompt.focus():e.replace(/\s/g,"").length>(a.length||1e3)?layer.tips("最多输入"+(a.length||1e3)+"个字数","#xubox_prompt",2):b&&b(e,c,d.prompt)},no:c},success:function(){d.prompt=$("#xubox_prompt"),d.prompt.focus()}};return 3===a.type&&(e.dialog.msg='"),$.layer(e)},layer.tab=function(a){var a=a||{},b=a.data||[],c={type:1,border:[0],area:["auto","auto"],bgcolor:"",title:!1,shade:a.shade,offset:a.offset,move:".xubox_tabmove",closeBtn:!1,page:{html:'
'}()+'
'+function(){var a=b.length,c=1,d="";if(a>0)for(d=''+b[0].title+"";a>c;c++)d+=""+b[c].title+"";return d}()+'
    '+function(){var a=b.length,c=1,d="";if(a>0)for(d='
  • '+(b[0].content||"no content")+"
  • ";a>c;c++)d+='
  • '+(b[c].content||"no content")+"
  • ";return d}()+'
X
'},success:function(a){var b=$(".xubox_tabtit").children(),c=$(".xubox_tab_main").children(),d=$(".xubox_tabclose");b.on("click",function(){var a=$(this),b=a.index();a.addClass("xubox_tabnow").siblings().removeClass("xubox_tabnow"),c.eq(b).show().siblings().hide()}),d.on("click",function(){layer.close(a.attr("times"))})}};return $.layer(c)},layer.photos=function(a){a=a||{};var b={imgIndex:1,end:null,html:$("html")},c=$(window),d=a.json,e=a.page;if(d){var f=d.data;if(1!==d.status)return void layer.msg("未请求到数据",2,8);if(b.imgLen=f.length,!(f.length>0))return void layer.msg("没有任何图片",2,8);b.thissrc=f[d.start].src,b.pid=f[d.start].pid,b.imgsname=d.title||"",b.name=f[d.start].name,b.imgIndex=d.start+1}else{var g=$(e.parent).find("img"),h=g.eq(e.start);b.thissrc=h.attr("layer-img")||h.attr("src"),b.pid=h.attr("pid"),b.imgLen=g.length,b.imgsname=e.title||"",b.name=h.attr("alt"),b.imgIndex=e.start+1}var i={type:1,border:[0],area:[(a.html?915:600)+"px","auto"],title:!1,shade:[.9,"#000",!0],shadeClose:!0,offset:["25px",""],bgcolor:"",page:{html:'
'+(b.name||
'+function(){return b.imgLen>1?'':""}()+'
'+b.imgsname+" "+b.imgIndex+"/"+b.imgLen+"
"+function(){return a.html?'
'+a.html+"
":""}()},success:function(a){b.bigimg=a.find(".xubox_bigimg"),b.imgsee=b.bigimg.find(".xubox_imgsee"),b.imgbar=b.imgsee.find(".xubox_imgbar"),b.imgtit=b.imgbar.find(".xubox_imgtit"),b.layero=a;var c=b.imgs=b.bigimg.find("img");clearTimeout(b.timerr),b.timerr=setTimeout(function(){$("html").css("overflow","hidden").attr("layer-full",b.index)},10),c.load(function(){b.imgarea=[c.outerWidth(),c.outerHeight()],b.resize(a)}),b.event()},end:function(){layer.closeAll(),b.end=!0}};return b.event=function(){b.bigimg.hover(function(){b.imgsee.show()},function(){b.imgsee.hide()}),i.imgprev=function(){b.imgIndex--,b.imgIndex<1&&(b.imgIndex=b.imgLen),b.tabimg()},b.bigimg.find(".xubox_prev").on("click",function(a){a.preventDefault(),i.imgprev()}),i.imgnext=function(){b.imgIndex++,b.imgIndex>b.imgLen&&(b.imgIndex=1),b.tabimg()},b.bigimg.find(".xubox_next").on("click",function(a){a.preventDefault(),i.imgnext()}),$(document).keyup(function(a){if(!b.end){var c=a.keyCode;a.preventDefault(),37===c?i.imgprev():39===c?i.imgnext():27===c&&layer.close(b.index)}}),b.tabimg=function(){var c,e,h;if(b.imgs.removeAttr("style"),d){var i=f[b.imgIndex-1];c=i.src,e=i.pid,h=i.name}else{var j=g.eq(b.imgIndex-1);c=j.attr("layer-img")||j.attr("src"),e=j.attr("layer-pid")||"",h=j.attr("alt")||""}b.imgs.attr({src:c,"layer-pid":e,alt:h}),b.imgtit.find("em").text(b.imgIndex+"/"+b.imgLen),b.imgsee.show(),a.tab&&a.tab({pid:e,name:h})}},b.resize=function(d){var e={},f=[c.width(),c.height()];e.limit=f[0]-f[0]/f[1]*(60*f[0]/f[1]),e.limit<600&&(e.limit=600);var g=[e.limit,f[1]>400?f[1]-50:400];g[0]=a.html?g[0]:g[0]-300,layer.area(b.index,{width:g[0]+(a.html?15:0),height:g[1]}),e.flwidth=g[0]-(a.html?300:0),b.imgs.css(b.imgarea[0]>e.flwidth?{width:e.flwidth}:{width:b.imgarea[0]}),b.imgs.outerHeight()',h=['
'+f+''+e.msg+"
",'
'+a+"
",'','','
'+d.tips.msg+'
'],i="",j="",k=d.zIndex+c,l="z-index:"+k+"; background-color:"+d.shade[1]+"; opacity:"+d.shade[0]+"; filter:alpha(opacity="+100*d.shade[0]+");",d.shade[0]&&(i='
'),d.zIndex=k,m="",n="",o="z-index:"+(k-1)+"; background-color: "+d.border[2]+"; opacity:"+d.border[1]+"; filter:alpha(opacity="+100*d.border[1]+"); top:-"+d.border[0]+"px; left:-"+d.border[0]+"px;",d.border[0]&&(j='
'),!d.maxmin||1!==d.type&&2!==d.type||/^\d+%$/.test(d.area[0])&&/^\d+%$/.test(d.area[1])||(n=''),d.closeBtn[1]&&(n+=''),p="object"==typeof d.title,d.title&&(m='
'+(p?d.title[0]:d.title)+"
"),[i,'
'+'
'+h[d.type]+m+''+n+""+''+"
"+j+"
"]},h.pt.creat=function(){var k,l,m,a=this,b="",c=a.config,e=c.dialog,f=a.index,h=c.page,i=d("body"),j=function(c){var c=c||"";b=a.space(c),i.append(d(b[0]))};switch(c.type){case 0:c.title||(c.area=["auto","auto"]),d(".xubox_dialog")[0]&&layer.close(d(".xubox_dialog").parents("."+g[0]).attr("times"));break;case 1:if(""!==h.html)j('
'+h.html+"
"),i.append(d(b[1]));else if(""!==h.url)j('
'+h.html+"
"),i.append(d(b[1])),d.get(h.url,function(a){d("#xuboxPageHtml"+f).html(a.toString()),h.ok&&h.ok(a)});else{if(0!=d(h.dom).parents(g[4]).length)return;j(),d(h.dom).show().wrap(d(b[1]))}break;case 3:c.title=!1,c.area=["auto","auto"],c.closeBtn=["",!1],d(".xubox_loading")[0]&&layer.closeLoad();break;case 4:c.title=!1,c.area=["auto","auto"],c.fix=!1,c.border=[0],c.tips.more||layer.closeTips()}if(1!==c.type&&(j(),i.append(d(b[1]))),k=a.layerE=d("#"+g[0]+f),k.css({width:c.area[0],height:c.area[1]}),c.fix||k.css({position:"absolute"}),c.title&&(3!==c.type||4!==c.type))switch(l=0===c.type?e:c,m=k.find(".xubox_botton"),l.btn=c.btn||e.btn,l.btns){case 0:m.html("").hide();break;case 1:m.html(''+l.btn[0]+"");break;case 2:m.html(''+l.btn[0]+""+''+l.btn[1]+"")}"auto"===k.css("left")?(k.hide(),setTimeout(function(){k.show(),a.set(f)},500)):a.set(f),c.time<=0||a.autoclose(),a.callback()},f.fade=function(a,b,c){a.css({opacity:0}).animate({opacity:c},b)},h.pt.offset=function(){var a=this,b=a.config,c=a.layerE,d=c.outerHeight();a.offsetTop=""===b.offset[0]&&dc.maxWidth&&k.width(c.maxWidth),q.tipColor=c.tips.style[1],o[0]=k.outerWidth(),q.autoLeft=function(){q.left+o[0]-e.width()>0?(q.tipLeft=q.left+q.width-o[0],r.css({right:12,left:"auto"})):q.tipLeft=q.left},q.where=[function(){q.autoLeft(),q.tipTop=q.top-o[1]-10,r.removeClass("layerTipsB").addClass("layerTipsT").css({"border-right-color":q.tipColor})},function(){q.tipLeft=q.left+q.width+10,q.tipTop=q.top,r.removeClass("layerTipsL").addClass("layerTipsR").css({"border-bottom-color":q.tipColor})},function(){q.autoLeft(),q.tipTop=q.top+q.height+10,r.removeClass("layerTipsT").addClass("layerTipsB").css({"border-right-color":q.tipColor})},function(){q.tipLeft=q.left-o[0]+10,q.tipTop=q.top,r.removeClass("layerTipsR").addClass("layerTipsL").css({"border-bottom-color":q.tipColor})}],q.where[c.tips.guide](),0===c.tips.guide?q.top-(e.scrollTop()+o[1]+16)<0&&q.where[2]():1===c.tips.guide?e.width()-(q.left+q.width+o[0]+16)>0||q.where[3]():2===c.tips.guide?q.top-e.scrollTop()+q.height+o[1]+16-e.height()>0&&q.where[0]():3===c.tips.guide?o[0]+16-q.left>0&&q.where[1]():4===c.tips.guide,k.css({left:q.tipLeft,top:q.tipTop})}c.fadeIn&&(f.fade(k,c.fadeIn,1),f.fade(d("#xubox_shade"+a),c.fadeIn,c.shade[0])),c.fix&&""===c.offset[0]&&!c.shift&&e.on("resize",function(){k.css({top:(e.height()-k.outerHeight())/2})}),b.move()},h.pt.shift=function(a,b,c){var k,d=this,f=d.config,g=d.layerE,h=0,i=e.width(),j=e.height()+(f.fix?0:e.scrollTop());switch(h="50%"==f.offset[1]||""==f.offset[1]?g.outerWidth()/2:g.outerWidth(),k={t:{top:d.offsetTop},b:{top:j-g.outerHeight()-f.border[0]},cl:h+f.border[0],ct:-g.outerHeight(),cr:i-h-f.border[0]},a){case"left-top":g.css({left:k.cl,top:k.ct}).animate(k.t,b);break;case"top":g.css({top:k.ct}).animate(k.t,b);break;case"right-top":g.css({left:k.cr,top:k.ct}).animate(k.t,b);break;case"right-bottom":g.css({left:k.cr,top:j}).animate(c?k.t:k.b,b);break;case"bottom":g.css({top:j}).animate(c?k.t:k.b,b);break;case"left-bottom":g.css({left:k.cl,top:j}).animate(c?k.t:k.b,b);break;case"left":g.css({left:-g.outerWidth()}).animate({left:d.offsetLeft},b)}},h.pt.autoArea=function(a){var c,e,f,h,i,k,j,l,m,n,o,b=this;switch(a=a||b.index,c=b.config,e=c.page,f=d("#"+g[0]+a),h=f.find(g[2]),i=f.find(g[5]),j=c.title?h.innerHeight():0,l=0,"auto"===c.area[0]&&i.outerWidth()>=c.maxWidth&&f.css({width:c.maxWidth}),c.type){case 0:m=f.find(".xubox_botton>a"),k=f.find(g[3]).outerHeight()+20,m.length>0&&(l=m.outerHeight()+20);break;case 1:n=f.find(g[4]),k=d(e.dom).outerHeight(),"auto"===c.area[0]&&f.css({width:n.outerWidth()}),(""!==e.html||""!==e.url)&&(k=n.outerHeight());break;case 2:f.find("iframe").css({width:f.outerWidth(),height:f.outerHeight()-(c.title?h.innerHeight():0)});break;case 3:o=f.find(".xubox_loading"),k=o.outerHeight(),i.css({width:o.width()})}"auto"===c.area[1]&&i.css({height:j+k+l}),d("#xubox_border"+a).css({width:f.outerWidth()+2*c.border[0],height:f.outerHeight()+2*c.border[0]}),layer.ie6&&"auto"!==c.area[0]&&i.css({width:f.outerWidth()}),"50%"!==c.offset[1]&&""!=c.offset[1]||4===c.type?f.css({marginLeft:0}):f.css({marginLeft:-f.outerWidth()/2})},h.pt.move=function(){var a=this,b=a.config,c={setY:0,moveLayer:function(){var a;a=0==parseInt(c.layerE.css("margin-left"))?parseInt(c.move.css("left")):parseInt(c.move.css("left"))+-parseInt(c.layerE.css("margin-left")),"fixed"!==c.layerE.css("position")&&(a-=c.layerE.parent().offset().left,c.setY=0),c.layerE.css({left:a,top:parseInt(c.move.css("top"))-c.setY})}},f=a.layerE.find(b.move);b.move&&f.attr("move","ok"),b.move?f.css({cursor:"move"}):f.css({cursor:"auto"}),d(b.move).on("mousedown",function(a){if(a.preventDefault(),"ok"===d(this).attr("move")){c.ismove=!0,c.layerE=d(this).parents("."+g[0]);var f=c.layerE.offset().left,h=c.layerE.offset().top,i=c.layerE.width()-6,j=c.layerE.height()-6;d("#xubox_moves")[0]||d("body").append('
'),c.move=d("#xubox_moves"),b.moveType&&c.move.css({opacity:0}),c.moveX=a.pageX-c.move.position().left,c.moveY=a.pageY-c.move.position().top,"fixed"!==c.layerE.css("position")||(c.setY=e.scrollTop())}}),d(document).mousemove(function(a){var d,f,g,h;c.ismove&&(d=a.pageX-c.moveX,f=a.pageY-c.moveY,a.preventDefault(),b.moveOut||(c.setY=e.scrollTop(),g=e.width()-c.move.outerWidth()-b.border[0],h=b.border[0]+c.setY,dg&&(d=g),h>f&&(f=h),f>e.height()-c.move.outerHeight()-b.border[0]+c.setY&&(f=e.height()-c.move.outerHeight()-b.border[0]+c.setY)),c.move.css({left:d,top:f}),b.moveType&&c.moveLayer(),d=null,f=null,g=null,h=null)}).mouseup(function(){try{c.ismove&&(c.moveLayer(),c.move.remove()),c.ismove=!1}catch(a){c.ismove=!1}b.moveEnd&&b.moveEnd()})},h.pt.autoclose=function(){var a=this,b=a.config.time,c=function(){b--,0===b&&(layer.close(a.index),clearInterval(a.autotime))};a.autotime=setInterval(c,1e3)},f.config={end:{}},h.pt.callback=function(){var a=this,b=a.layerE,c=a.config,e=c.dialog;a.openLayer(),a.config.success(b),layer.ie6&&a.IE6(b),b.find(".xubox_close").on("click",function(){c.close(a.index),layer.close(a.index)}),b.find(".xubox_yes").on("click",function(){c.yes?c.yes(a.index):e.yes(a.index)}),b.find(".xubox_no").on("click",function(){c.no?c.no(a.index):e.no(a.index),layer.close(a.index)}),a.config.shadeClose&&d("#xubox_shade"+a.index).on("click",function(){layer.close(a.index)}),b.find(".xubox_min").on("click",function(){layer.min(a.index,c),c.min&&c.min(b)}),b.find(".xubox_max").on("click",function(){d(this).hasClass("xubox_maxmin")?(layer.restore(a.index),c.restore&&c.restore(b)):(layer.full(a.index,c),c.full&&c.full(b))}),f.config.end[a.index]=c.end},f.reselect=function(){d.each(d("select"),function(){var c=d(this);c.parents("."+g[0])[0]||1==c.attr("layer")&&d("."+g[0]).length<1&&c.removeAttr("layer").show(),c=null})},h.pt.IE6=function(a){var f,b=this,c=a.offset().top;f=b.config.fix?function(){a.css({top:e.scrollTop()+c})}:function(){a.css({top:c})},f(),e.scroll(f),d.each(d("select"),function(){var c=d(this);c.parents("."+g[0])[0]||"none"==c.css("display")||c.attr({layer:"1"}).hide(),c=null})},h.pt.openLayer=function(){var a=this;a.layerE,layer.autoArea=function(b){return a.autoArea(b)},layer.shift=function(b,c,d){a.shift(b,c,d)},layer.setMove=function(){return a.move()},layer.zIndex=a.config.zIndex,layer.setTop=function(a){var b=function(){layer.zIndex++,a.css("z-index",layer.zIndex+1)};return layer.zIndex=parseInt(a[0].style.zIndex),a.on("mousedown",b),layer.zIndex}},f.isauto=function(a,b,c){"auto"===b.area[0]&&(b.area[0]=a.outerWidth()),"auto"===b.area[1]&&(b.area[1]=a.outerHeight()),a.attr({area:b.area+","+c}),a.find(".xubox_max").addClass("xubox_maxmin")},f.rescollbar=function(a){g.html.attr("layer-full")==a&&(g.html[0].style.removeProperty?g.html[0].style.removeProperty("overflow"):g.html[0].style.removeAttribute("overflow"),g.html.removeAttr("layer-full"))},layer.getIndex=function(a){return d(a).parents("."+g[0]).attr("times")},layer.getChildFrame=function(a,b){return b=b||d("."+g[1]).parents("."+g[0]).attr("times"),d("#"+g[0]+b).find("."+g[1]).contents().find(a)},layer.getFrameIndex=function(a){return d(a?"#"+a:"."+g[1]).parents("."+g[0]).attr("times")},layer.iframeAuto=function(a){var b,c,e,f,h;a=a||d("."+g[1]).parents("."+g[0]).attr("times"),b=layer.getChildFrame("body",a).outerHeight(),c=d("#"+g[0]+a),e=c.find(g[2]),f=0,e&&(f=e.height()),c.css({height:b+f}),h=-parseInt(d("#xubox_border"+a).css("top")),d("#xubox_border"+a).css({height:b+2*h+f}),d("#"+g[1]+a).css({height:b})},layer.iframeSrc=function(a,b){d("#"+g[0]+a).find("iframe").attr("src",b)},layer.area=function(a,b){var j,c=[d("#"+g[0]+a),d("#xubox_border"+a)],e=c[0].attr("type"),h=c[0].find(g[5]),i=c[0].find(g[2]);(e===f.type[1]||e===f.type[2])&&(c[0].css(b),h.css({width:b.width,height:b.height}),e===f.type[2]&&(j=c[0].find("iframe"),j.css({width:b.width,height:i?b.height-i.innerHeight():b.height})),"0px"!==c[0].css("margin-left")&&(b.hasOwnProperty("top")&&c[0].css({top:b.top-(c[1][0]?parseFloat(c[1].css("top")):0)}),b.hasOwnProperty("left")&&c[0].css({left:b.left+c[0].outerWidth()/2-(c[1][0]?parseFloat(c[1].css("left")):0)}),c[0].css({marginLeft:-c[0].outerWidth()/2})),c[1][0]&&c[1].css({width:parseFloat(b.width)-2*parseFloat(c[1].css("left")),height:parseFloat(b.height)-2*parseFloat(c[1].css("top"))}))},layer.min=function(a,b){var c=d("#"+g[0]+a),e=[c.position().top,c.position().left+parseFloat(c.css("margin-left"))];f.isauto(c,b,e),layer.area(a,{width:180,height:35}),c.find(".xubox_min").hide(),"page"===c.attr("type")&&c.find(g[4]).hide(),f.rescollbar(a)},layer.restore=function(a){var b=d("#"+g[0]+a),c=b.attr("area").split(",");b.attr("type"),layer.area(a,{width:parseFloat(c[0]),height:parseFloat(c[1]),top:parseFloat(c[2]),left:parseFloat(c[3])}),b.find(".xubox_max").removeClass("xubox_maxmin"),b.find(".xubox_min").show(),"page"===b.attr("type")&&b.find(g[4]).show(),f.rescollbar(a)},layer.full=function(a,b){var i,c=d("#"+g[0]+a),h=2*b.border[0]||6,j=[c.position().top,c.position().left+parseFloat(c.css("margin-left"))];f.isauto(c,b,j),g.html.attr("layer-full")||g.html.css("overflow","hidden").attr("layer-full",a),clearTimeout(i),i=setTimeout(function(){layer.area(a,{top:"fixed"===c.css("position")?0:e.scrollTop(),left:"fixed"===c.css("position")?0:e.scrollLeft(),width:e.width()-h,height:e.height()-h})},100)},layer.title=function(a,b){var c=d("#"+g[0]+(b||layer.index)).find(".xubox_title>em");c.html(a)},layer.close=function(a){var h,b=d("#"+g[0]+a),c=b.attr("type"),e=d("#xubox_moves, #xubox_shade"+a);if(b[0]){if(c==f.type[1])if(b.find(".xuboxPageHtml")[0])b[0].innerHTML="",b.remove();else for(b.find(".xubox_setwin,.xubox_close,.xubox_botton,.xubox_title,.xubox_border").remove(),h=0;3>h;h++)b.find(".layer_pageContent").unwrap().hide();else b[0].innerHTML="",b.remove();e.remove(),layer.ie6&&f.reselect(),f.rescollbar(a),"function"==typeof f.config.end[a]&&f.config.end[a](),delete f.config.end[a]}},layer.closeLoad=function(){layer.close(d(".xubox_loading").parents("."+g[0]).attr("times"))},layer.closeTips=function(){layer.closeAll("tips")},layer.closeAll=function(a){d.each(d("."+g[0]),function(){var b=d(this),c=a?b.attr("type")===a:1;c&&layer.close(b.attr("times")),c=null})},f.run=function(){d=jQuery,e=d(a),g.html=d("html"),layer.use("skin/layer.css"),d.layer=function(a){var b=new h(a);return b.index},(new Image).src=layer.path+"skin/default/xubox_ico0.png"},i="../../init/jquery",a.seajs?define([i],function(a,b,c){f.run(),c.exports=layer}):f.run()}(window); \ No newline at end of file +/*! layer-v1.8.5 弹层组件 2014-09-10 License LGPL http://sentsin.com/jquery/layer/ By 贤心 */ +;!function(a,b){"use strict";var c,d,e="http://res.sentsin.com/lay/lib/layer/",f={getPath:function(){var a=document.scripts,b=a[a.length-1].src;return e?e:b.substring(0,b.lastIndexOf("/")+1)},type:["dialog","page","iframe","loading","tips"]};a.layer={v:"1.8.5",ie6:!!a.ActiveXObject&&!a.XMLHttpRequest,index:0,path:f.getPath(),use:function(a,b){var d=c("head")[0],a=a.replace(/\s/g,""),e=/\.css$/.test(a),f=document.createElement(e?"link":"script"),g=a.replace(/\.|\//g,"");e&&(f.type="text/css",f.rel="stylesheet"),f[e?"href":"src"]=/^http:\/\//.test(a)?a:layer.path+a,f.id=g,c("#"+g)[0]||d.appendChild(f),b&&(document.all?c(f).ready(b):c(f).load(b))},alert:function(a,b,d,e){var f="function"==typeof d,g={dialog:{msg:a,type:b,yes:f?d:e},area:["auto","auto"]};return f||(g.title=d),c.layer(g)},confirm:function(a,b,d,e){var f="function"==typeof d,g={dialog:{msg:a,type:4,btns:2,yes:b,no:f?d:e}};return f||(g.title=d),c.layer(g)},msg:function(a,d,e,f){var g={title:!1,closeBtn:!1,time:d===b?2:d,dialog:{msg:""===a||a===b?" ":a},end:f};return"object"==typeof e?(g.dialog.type=e.type,g.shade=e.shade,g.shift=e.rate):"function"==typeof e?g.end=e:g.dialog.type=e,c.layer(g)},load:function(a,b){return"string"==typeof a?layer.msg(a,b||0,16):c.layer({time:a,loading:{type:b},bgcolor:b?"#fff":"",shade:b?[.1,"#000"]:[0],border:3!==b&&b?[6,.3,"#000"]:[0],type:3,title:["",!1],closeBtn:[0,!1]})},tips:function(a,b,d,e,f,g){var h={type:4,shade:!1,success:function(a){this.closeBtn||a.find(".xubox_tips").css({"padding-right":10})},bgcolor:"",tips:{msg:a,follow:b}};return h.time="object"==typeof d?d.time:0|d,d=d||{},h.closeBtn=d.closeBtn||!1,h.maxWidth=d.maxWidth||e,h.tips.guide=d.guide||f,h.tips.style=d.style||g,h.tips.more=d.more,c.layer(h)}};var g=["xubox_layer","xubox_iframe",".xubox_title",".xubox_text",".xubox_page",".xubox_main"],h=function(a){var b=this,d=b.config;layer.index++,b.index=layer.index,b.config=c.extend({},d,a),b.config.dialog=c.extend({},d.dialog,a.dialog),b.config.page=c.extend({},d.page,a.page),b.config.iframe=c.extend({},d.iframe,a.iframe),b.config.loading=c.extend({},d.loading,a.loading),b.config.tips=c.extend({},d.tips,a.tips),b.creat()};h.pt=h.prototype,h.pt.config={type:0,shade:[.3,"#000"],fix:!0,move:".xubox_title",title:"信息",offset:["","50%"],area:["310px","auto"],closeBtn:[0,!0],time:0,bgcolor:"#fff",border:[6,.3,"#000"],zIndex:19891014,maxWidth:400,dialog:{btns:1,btn:["确定","取消"],type:8,msg:"",yes:function(a){layer.close(a)},no:function(a){layer.close(a)}},page:{dom:"#xulayer",html:"",url:""},iframe:{src:"http://sentsin.com",scrolling:"auto"},loading:{type:0},tips:{msg:"",follow:"",guide:0,isGuide:!0,style:["background-color:#FF9900; color:#fff;","#FF9900"]},success:function(){},close:function(a){layer.close(a)},end:function(){}},h.pt.space=function(a){var b=this,a=a||"",c=b.index,d=b.config,e=d.dialog,f=-1===e.type?"":'',h=['
'+f+''+e.msg+"
",'
'+a+"
",'','','
'+d.tips.msg+'
'],i="",j="",k=d.zIndex+c,l="z-index:"+k+"; background-color:"+d.shade[1]+"; opacity:"+d.shade[0]+"; filter:alpha(opacity="+100*d.shade[0]+");";d.shade[0]&&(i='
'),d.zIndex=k;var m="",n="",o="z-index:"+(k-1)+"; background-color: "+d.border[2]+"; opacity:"+d.border[1]+"; filter:alpha(opacity="+100*d.border[1]+"); top:-"+d.border[0]+"px; left:-"+d.border[0]+"px;";d.border[0]&&(j='
'),!d.maxmin||1!==d.type&&2!==d.type||/^\d+%$/.test(d.area[0])&&/^\d+%$/.test(d.area[1])||(n=''),d.closeBtn[1]&&(n+='');var p="object"==typeof d.title;return d.title&&(m='
'+(p?d.title[0]:d.title)+"
"),[i,'
'+h[d.type]+m+''+n+'
'+j+"
"]},h.pt.creat=function(){var a=this,b="",d=a.config,e=d.dialog,f=a.index,h=d.page,i=c("body"),j=function(d){var d=d||"";b=a.space(d),i.append(c(b[0]))};switch(d.type){case 0:d.title||(d.area=["auto","auto"]),c(".xubox_dialog")[0]&&layer.close(c(".xubox_dialog").parents("."+g[0]).attr("times"));break;case 1:if(""!==h.html)j('
'+h.html+"
"),i.append(c(b[1]));else if(""!==h.url)j('
'+h.html+"
"),i.append(c(b[1])),c.get(h.url,function(a){c("#xuboxPageHtml"+f).html(a.toString()),h.ok&&h.ok(a)});else{if(0!=c(h.dom).parents(g[4]).length)return;j(),c(h.dom).show().wrap(c(b[1]))}break;case 3:d.title=!1,d.area=["auto","auto"],d.closeBtn=["",!1],c(".xubox_loading")[0]&&layer.closeLoad();break;case 4:d.title=!1,d.area=["auto","auto"],d.fix=!1,d.border=[0],d.tips.more||layer.closeTips()}1!==d.type&&(j(),i.append(c(b[1])));var k=a.layerE=c("#"+g[0]+f);if(k.css({width:d.area[0],height:d.area[1]}),d.fix||k.css({position:"absolute"}),d.title&&(3!==d.type||4!==d.type)){var l=0===d.type?e:d,m=k.find(".xubox_botton");switch(l.btn=d.btn||e.btn,l.btns){case 0:m.html("").hide();break;case 1:m.html(''+l.btn[0]+"");break;case 2:m.html(''+l.btn[0]+''+l.btn[1]+"")}}"auto"===k.css("left")?(k.hide(),setTimeout(function(){k.show(),a.set(f)},500)):a.set(f),d.time<=0||a.autoclose(),a.callback()},f.fade=function(a,b,c){a.css({opacity:0}).animate({opacity:c},b)},h.pt.offset=function(){var a=this,b=a.config,c=a.layerE,e=c.outerHeight();a.offsetTop=""===b.offset[0]&&ee.maxWidth&&i.width(e.maxWidth),o.tipColor=e.tips.style[1],m[0]=i.outerWidth(),o.autoLeft=function(){o.left+m[0]-d.width()>0?(o.tipLeft=o.left+o.width-m[0],p.css({right:12,left:"auto"})):o.tipLeft=o.left},o.where=[function(){o.autoLeft(),o.tipTop=o.top-m[1]-10,p.removeClass("layerTipsB").addClass("layerTipsT").css({"border-right-color":o.tipColor})},function(){o.tipLeft=o.left+o.width+10,o.tipTop=o.top,p.removeClass("layerTipsL").addClass("layerTipsR").css({"border-bottom-color":o.tipColor})},function(){o.autoLeft(),o.tipTop=o.top+o.height+10,p.removeClass("layerTipsT").addClass("layerTipsB").css({"border-right-color":o.tipColor})},function(){o.tipLeft=o.left-m[0]+10,o.tipTop=o.top,p.removeClass("layerTipsR").addClass("layerTipsL").css({"border-bottom-color":o.tipColor})}],o.where[e.tips.guide](),0===e.tips.guide?o.top-(d.scrollTop()+m[1]+16)<0&&o.where[2]():1===e.tips.guide?d.width()-(o.left+o.width+m[0]+16)>0||o.where[3]():2===e.tips.guide?o.top-d.scrollTop()+o.height+m[1]+16-d.height()>0&&o.where[0]():3===e.tips.guide?m[0]+16-o.left>0&&o.where[1]():4===e.tips.guide,i.css({left:o.tipLeft,top:o.tipTop})}e.fadeIn&&(f.fade(i,e.fadeIn,1),f.fade(c("#xubox_shade"+a),e.fadeIn,e.shade[0])),e.fix&&""===e.offset[0]&&!e.shift&&d.on("resize",function(){i.css({top:(d.height()-i.outerHeight())/2})}),b.move()},h.pt.shift=function(a,b,c){var e=this,f=e.config,g=e.layerE,h=0,i=d.width(),j=d.height()+(f.fix?0:d.scrollTop());h="50%"==f.offset[1]||""==f.offset[1]?g.outerWidth()/2:g.outerWidth();var k={t:{top:e.offsetTop},b:{top:j-g.outerHeight()-f.border[0]},cl:h+f.border[0],ct:-g.outerHeight(),cr:i-h-f.border[0]};switch(a){case"left-top":g.css({left:k.cl,top:k.ct}).animate(k.t,b);break;case"top":g.css({top:k.ct}).animate(k.t,b);break;case"right-top":g.css({left:k.cr,top:k.ct}).animate(k.t,b);break;case"right-bottom":g.css({left:k.cr,top:j}).animate(c?k.t:k.b,b);break;case"bottom":g.css({top:j}).animate(c?k.t:k.b,b);break;case"left-bottom":g.css({left:k.cl,top:j}).animate(c?k.t:k.b,b);break;case"left":g.css({left:-g.outerWidth()}).animate({left:e.offsetLeft},b)}},h.pt.autoArea=function(a){var b,d=this,a=a||d.index,e=d.config,f=e.page,h=c("#"+g[0]+a),i=h.find(g[2]),j=h.find(g[5]),k=e.title?i.innerHeight():0,l=0;switch("auto"===e.area[0]&&j.outerWidth()>=e.maxWidth&&h.css({width:e.maxWidth}),e.type){case 0:var m=h.find(".xubox_botton>a");b=h.find(g[3]).outerHeight()+20,m.length>0&&(l=m.outerHeight()+20);break;case 1:var n=h.find(g[4]);b=c(f.dom).outerHeight(),"auto"===e.area[0]&&h.css({width:n.outerWidth()}),(""!==f.html||""!==f.url)&&(b=n.outerHeight());break;case 2:h.find("iframe").css({width:h.outerWidth(),height:h.outerHeight()-(e.title?i.innerHeight():0)});break;case 3:var o=h.find(".xubox_loading");b=o.outerHeight(),j.css({width:o.width()})}"auto"===e.area[1]&&j.css({height:k+b+l}),c("#xubox_border"+a).css({width:h.outerWidth()+2*e.border[0],height:h.outerHeight()+2*e.border[0]}),layer.ie6&&"auto"!==e.area[0]&&j.css({width:h.outerWidth()}),h.css("50%"!==e.offset[1]&&""!=e.offset[1]||4===e.type?{marginLeft:0}:{marginLeft:-h.outerWidth()/2})},h.pt.move=function(){var a=this,b=a.config,e={setY:0,moveLayer:function(){if(0==parseInt(e.layerE.css("margin-left")))var a=parseInt(e.move.css("left"));else var a=parseInt(e.move.css("left"))+-parseInt(e.layerE.css("margin-left"));"fixed"!==e.layerE.css("position")&&(a-=e.layerE.parent().offset().left,e.setY=0),e.layerE.css({left:a,top:parseInt(e.move.css("top"))-e.setY})}},f=a.layerE.find(b.move);b.move&&f.attr("move","ok"),f.css(b.move?{cursor:"move"}:{cursor:"auto"}),c(b.move).on("mousedown",function(a){if(a.preventDefault(),"ok"===c(this).attr("move")){e.ismove=!0,e.layerE=c(this).parents("."+g[0]);var f=e.layerE.offset().left,h=e.layerE.offset().top,i=e.layerE.width()-6,j=e.layerE.height()-6;c("#xubox_moves")[0]||c("body").append('
'),e.move=c("#xubox_moves"),b.moveType&&e.move.css({opacity:0}),e.moveX=a.pageX-e.move.position().left,e.moveY=a.pageY-e.move.position().top,"fixed"!==e.layerE.css("position")||(e.setY=d.scrollTop())}}),c(document).mousemove(function(a){if(e.ismove){var c=a.pageX-e.moveX,f=a.pageY-e.moveY;if(a.preventDefault(),!b.moveOut){e.setY=d.scrollTop();var g=d.width()-e.move.outerWidth()-b.border[0],h=b.border[0]+e.setY;cg&&(c=g),h>f&&(f=h),f>d.height()-e.move.outerHeight()-b.border[0]+e.setY&&(f=d.height()-e.move.outerHeight()-b.border[0]+e.setY)}e.move.css({left:c,top:f}),b.moveType&&e.moveLayer(),c=null,f=null,g=null,h=null}}).mouseup(function(){try{e.ismove&&(e.moveLayer(),e.move.remove()),e.ismove=!1}catch(a){e.ismove=!1}b.moveEnd&&b.moveEnd()})},h.pt.autoclose=function(){var a=this,b=a.config.time,c=function(){b--,0===b&&(layer.close(a.index),clearInterval(a.autotime))};a.autotime=setInterval(c,1e3)},f.config={end:{}},h.pt.callback=function(){var a=this,b=a.layerE,d=a.config,e=d.dialog;a.openLayer(),a.config.success(b),layer.ie6&&a.IE6(b),b.find(".xubox_close").on("click",function(){d.close(a.index),layer.close(a.index)}),b.find(".xubox_yes").on("click",function(){d.yes?d.yes(a.index):e.yes(a.index)}),b.find(".xubox_no").on("click",function(){d.no?d.no(a.index):e.no(a.index),layer.close(a.index)}),a.config.shadeClose&&c("#xubox_shade"+a.index).on("click",function(){layer.close(a.index)}),b.find(".xubox_min").on("click",function(){layer.min(a.index,d),d.min&&d.min(b)}),b.find(".xubox_max").on("click",function(){c(this).hasClass("xubox_maxmin")?(layer.restore(a.index),d.restore&&d.restore(b)):(layer.full(a.index,d),d.full&&d.full(b))}),f.config.end[a.index]=d.end},f.reselect=function(){c.each(c("select"),function(){var a=c(this);a.parents("."+g[0])[0]||1==a.attr("layer")&&c("."+g[0]).length<1&&a.removeAttr("layer").show(),a=null})},h.pt.IE6=function(a){var b=this,e=a.offset().top;if(b.config.fix)var f=function(){a.css({top:d.scrollTop()+e})};else var f=function(){a.css({top:e})};f(),d.scroll(f),c.each(c("select"),function(){var a=c(this);a.parents("."+g[0])[0]||"none"==a.css("display")||a.attr({layer:"1"}).hide(),a=null})},h.pt.openLayer=function(){{var a=this;a.layerE}layer.autoArea=function(b){return a.autoArea(b)},layer.shift=function(b,c,d){a.shift(b,c,d)},layer.setMove=function(){return a.move()},layer.zIndex=a.config.zIndex,layer.setTop=function(a){var b=function(){layer.zIndex++,a.css("z-index",layer.zIndex+1)};return layer.zIndex=parseInt(a[0].style.zIndex),a.on("mousedown",b),layer.zIndex}},f.isauto=function(a,b,c){"auto"===b.area[0]&&(b.area[0]=a.outerWidth()),"auto"===b.area[1]&&(b.area[1]=a.outerHeight()),a.attr({area:b.area+","+c}),a.find(".xubox_max").addClass("xubox_maxmin")},f.rescollbar=function(a){g.html.attr("layer-full")==a&&(g.html[0].style.removeProperty?g.html[0].style.removeProperty("overflow"):g.html[0].style.removeAttribute("overflow"),g.html.removeAttr("layer-full"))},layer.getIndex=function(a){return c(a).parents("."+g[0]).attr("times")},layer.getChildFrame=function(a,b){return b=b||c("."+g[1]).parents("."+g[0]).attr("times"),c("#"+g[0]+b).find("."+g[1]).contents().find(a)},layer.getFrameIndex=function(a){return c(a?"#"+a:"."+g[1]).parents("."+g[0]).attr("times")},layer.iframeAuto=function(a){a=a||c("."+g[1]).parents("."+g[0]).attr("times");var b=layer.getChildFrame("body",a).outerHeight(),d=c("#"+g[0]+a),e=d.find(g[2]),f=0;e&&(f=e.height()),d.css({height:b+f});var h=-parseInt(c("#xubox_border"+a).css("top"));c("#xubox_border"+a).css({height:b+2*h+f}),c("#"+g[1]+a).css({height:b})},layer.iframeSrc=function(a,b){c("#"+g[0]+a).find("iframe").attr("src",b)},layer.area=function(a,b){var d=[c("#"+g[0]+a),c("#xubox_border"+a)],e=d[0].attr("type"),h=d[0].find(g[5]),i=d[0].find(g[2]);if(e===f.type[1]||e===f.type[2]){if(d[0].css(b),h.css({width:b.width,height:b.height}),e===f.type[2]){var j=d[0].find("iframe");j.css({width:b.width,height:i?b.height-i.innerHeight():b.height})}"0px"!==d[0].css("margin-left")&&(b.hasOwnProperty("top")&&d[0].css({top:b.top-(d[1][0]?parseFloat(d[1].css("top")):0)}),b.hasOwnProperty("left")&&d[0].css({left:b.left+d[0].outerWidth()/2-(d[1][0]?parseFloat(d[1].css("left")):0)}),d[0].css({marginLeft:-d[0].outerWidth()/2})),d[1][0]&&d[1].css({width:parseFloat(b.width)-2*parseFloat(d[1].css("left")),height:parseFloat(b.height)-2*parseFloat(d[1].css("top"))})}},layer.min=function(a,b){var d=c("#"+g[0]+a),e=[d.position().top,d.position().left+parseFloat(d.css("margin-left"))];f.isauto(d,b,e),layer.area(a,{width:180,height:35}),d.find(".xubox_min").hide(),"page"===d.attr("type")&&d.find(g[4]).hide(),f.rescollbar(a)},layer.restore=function(a){{var b=c("#"+g[0]+a),d=b.attr("area").split(",");b.attr("type")}layer.area(a,{width:parseFloat(d[0]),height:parseFloat(d[1]),top:parseFloat(d[2]),left:parseFloat(d[3])}),b.find(".xubox_max").removeClass("xubox_maxmin"),b.find(".xubox_min").show(),"page"===b.attr("type")&&b.find(g[4]).show(),f.rescollbar(a)},layer.full=function(a,b){var e,h=c("#"+g[0]+a),i=2*b.border[0]||6,j=[h.position().top,h.position().left+parseFloat(h.css("margin-left"))];f.isauto(h,b,j),g.html.attr("layer-full")||g.html.css("overflow","hidden").attr("layer-full",a),clearTimeout(e),e=setTimeout(function(){layer.area(a,{top:"fixed"===h.css("position")?0:d.scrollTop(),left:"fixed"===h.css("position")?0:d.scrollLeft(),width:d.width()-i,height:d.height()-i})},100)},layer.title=function(a,b){var d=c("#"+g[0]+(b||layer.index)).find(".xubox_title>em");d.html(a)},layer.close=function(a){var b=c("#"+g[0]+a),d=b.attr("type"),e=c("#xubox_moves, #xubox_shade"+a);if(b[0]){if(d==f.type[1])if(b.find(".xuboxPageHtml")[0])b[0].innerHTML="",b.remove();else{b.find(".xubox_setwin,.xubox_close,.xubox_botton,.xubox_title,.xubox_border").remove();for(var h=0;3>h;h++)b.find(".layer_pageContent").unwrap().hide()}else b[0].innerHTML="",b.remove();e.remove(),layer.ie6&&f.reselect(),f.rescollbar(a),"function"==typeof f.config.end[a]&&f.config.end[a](),delete f.config.end[a]}},layer.closeLoad=function(){layer.close(c(".xubox_loading").parents("."+g[0]).attr("times"))},layer.closeTips=function(){layer.closeAll("tips")},layer.closeAll=function(a){c.each(c("."+g[0]),function(){var b=c(this),d=a?b.attr("type")===a:1;d&&layer.close(b.attr("times")),d=null})},f.run=function(){c=jQuery,d=c(a),g.html=c("html"),layer.use("skin/layer.css"),c.layer=function(a){var b=new h(a);return b.index},(new Image).src=layer.path+"skin/default/xubox_ico0.png"},"function"==typeof define?define(function(){return f.run(),layer}):f.run()}(window); \ No newline at end of file diff --git a/m/README.md b/m/README.md deleted file mode 100644 index 9d6747e..0000000 --- a/m/README.md +++ /dev/null @@ -1,14 +0,0 @@ - -## layer mobole -layer mobile是为移动设备(手机、平板等webkit内核浏览器/webview)量身定做的弹层支撑,采用Native JavaScript编写,完全独立于PC版的layer,您需要按照场景选择使用。 - -[文档与演示](http://sentsin.com/layui/layer/) - -1. 无需依赖任何库,只加载layer.m.js即可 -2. 小巧玲珑,性能卓越、柔情似水… -3. 具备无以伦比的自适应功能 -4. 灵活的皮肤自定义支撑,充分确保弹层风格多样化 -5. 丰富、科学的接口,让弹弹弹层无所不能 - -## 备注 -[官网](http://sentsin.com/layui/layer/)、[有问必答](http://say.sentsin.com/home-48.html) \ No newline at end of file diff --git a/m/layer.m.dev.js b/m/layer.m.dev.js index a599c74..e6e073f 100644 --- a/m/layer.m.dev.js +++ b/m/layer.m.dev.js @@ -1,6 +1,6 @@ -/**************************************** +/**************************************** - @Name:layer v1.0 弹层组件移动版 + @Name:layer v1.1 弹层组件移动版 @Author:贤心 @Date:2014-08-24 @Copyright:Sentsin Xu(贤心) @@ -27,9 +27,11 @@ document.head.appendChild((function(){ }())); var config = { + type: 0, shade: true, shadeClose: true, - fixed: true + fixed: true, + anim: true }; var ready = { @@ -60,7 +62,7 @@ Layer.prototype.view = function(){ var title = (function(){ var titype = typeof config.title === 'object'; return config.title - ? '

'+ (titype ? config.title[0] : config.title) +'

' + ? '

'+ (titype ? config.title[0] : config.title) +'

' : ''; }()); @@ -82,19 +84,23 @@ Layer.prototype.view = function(){ config.style += ' top:'+ ( doc.body.scrollTop + config.top) + 'px'; } + if(config.type === 2){ + config.content = '
' + (config.content||'') + '
'; + } + layerbox.innerHTML = (config.shade ? '
' : '') +'
' +'
' - +'
' + +'
' + title - +'
'+ (config.content||' ') +'
' + +'
'+ config.content +'
' + button +'
' +'
' +'
'; - if(!config.type){ - var dialogs = doc[claname](classs[0]+'0'), dialen = dialogs.length; + if(!config.type || config.type === 2){ + var dialogs = doc[claname](classs[0] + config.type), dialen = dialogs.length; if(dialen >= 1){ layer.close(dialogs[0].getAttribute('index')) } @@ -104,7 +110,7 @@ Layer.prototype.view = function(){ setTimeout(function(){ try{ - doc[byid](that.id).classList.add('layermshow'); + doc[byid](that.id).className = doc[byid](that.id).className + ' layermshow'; }catch(e){ return; } @@ -159,7 +165,7 @@ Layer.prototype.action = function(config){ }; var layer = { - v: '1.0', + v: '1.1', index: index, //核心方法 diff --git a/m/layer.m.js b/m/layer.m.js index 8080f81..a211401 100644 --- a/m/layer.m.js +++ b/m/layer.m.js @@ -1,2 +1,2 @@ -/* layer-v1.0 弹层移动版 By 贤心 2014-08-24 http://sentsin.com/layui/layer */ -;!function(a){"use strict";function k(a){var b=this;b.config=h.extend(a),b.view()}var g,h,i,j,l,b=document.scripts[document.scripts.length-1].src.match(/[\s\S]*\//)[0],c=document,d="createElement",e="getElementById",f="getElementsByClassName";document.head.appendChild(function(){var a=c[d]("link");return a.href=b+"need/layer.css",a.type="text/css",a.rel="styleSheet",a.id="layermcss",a}()),g={shade:!0,shadeClose:!0,fixed:!0},h={extend:function(a){var c,b=JSON.parse(JSON.stringify(g));for(c in a)b[c]=a[c];return b},timer:{}},i=0,j=["layermbox"],k.prototype.view=function(){var h,k,m,n,a=this,b=a.config,g=c[d]("div");a.id=g.id=j[0]+i,g.setAttribute("class",j[0]+" "+j[0]+(b.type||0)),g.setAttribute("index",i),h=function(){var a="object"==typeof b.title;return b.title?'

'+(a?b.title[0]:b.title)+'

':""}(),k=function(){var c,a=(b.btn||[]).length;return 0!==a&&b.btn?(c=''+b.btn[0]+"",2===a&&(c=''+b.btn[1]+""+c),'
'+c+"
"):""}(),b.fixed||(b.top=b.hasOwnProperty("top")?b.top:100,b.style=b.style||"",b.style+=" top:"+(c.body.scrollTop+b.top)+"px"),g.innerHTML=(b.shade?'
':"")+'
"+"
"+'
"+h+'
'+(b.content||" ")+"
"+k+"
"+"
"+"
",b.type||(m=c[f](j[0]+"0"),n=m.length,n>=1&&l.close(m[0].getAttribute("index"))),document.body.appendChild(g),setTimeout(function(){try{c[e](a.id).classList.add("layermshow")}catch(d){return}b.success&&b.success(c[e](a.id))},1),a.index=i++,a.action(b)},k.prototype.action=function(a){var d,b=this;a.time&&(h.timer[b.index]=setTimeout(function(){l.close(b.index)},1e3*a.time)),a.title&&(c[e](b.id)[f]("layermend")[0].onclick=function(){a.cancel&&a.cancel(),l.close(b.index,a.end)}),a.btn&&(c[e](b.id)[f]("layermbtn")[0].onclick=function(c){var d=c.target.getAttribute("type");0==d?(a.no&&a.no(),l.close(b.index,a.end)):a.yes?a.yes(b.index):l.close(b.index,a.end)}),a.shade&&a.shadeClose&&(d=c[e](b.id)[f]("laymshade")[0],d.onclick=function(){l.close(b.index,a.end)},d.ontouchmove=function(){l.close(b.index,a.end)})},l={v:"1.0",index:i,open:function(a){var b=new k(a||{});return b.index},close:function(a,b){var d=c[e](j[0]+a);d&&(d.innerHTML="",c.body.removeChild(d),clearTimeout(h.timer[a]),delete h.timer[a],b&&b())},closeAll:function(){var b,c,a=document.getElementsByClassName(j[0]);for(b=0,c=a.length;c>b;b++)l.close(a[b].getAttribute("index"))}},"function"==typeof define?define(function(){return l}):a.layer=l}(window); \ No newline at end of file +/*! layer mobile-v1.0 弹层组件移动版 2014-09-10 License LGPL http://sentsin.com/layui/layer/ By 贤心 */ +;!function(a){"use strict";function b(a){var b=this;b.config=i.extend(a),b.view()}var c=document.scripts[document.scripts.length-1].src.match(/[\s\S]*\//)[0],d=document,e="createElement",f="getElementById",g="getElementsByClassName";document.head.appendChild(function(){var a=d[e]("link");return a.href=c+"need/layer.css",a.type="text/css",a.rel="styleSheet",a.id="layermcss",a}());var h={type:0,shade:!0,shadeClose:!0,fixed:!0,anim:!0},i={extend:function(a){var b=JSON.parse(JSON.stringify(h));for(var c in a)b[c]=a[c];return b},timer:{}},j=0,k=["layermbox"];b.prototype.view=function(){var a=this,b=a.config,c=d[e]("div");a.id=c.id=k[0]+j,c.setAttribute("class",k[0]+" "+k[0]+(b.type||0)),c.setAttribute("index",j);var h=function(){var a="object"==typeof b.title;return b.title?'

'+(a?b.title[0]:b.title)+'

':""}(),i=function(){var a,c=(b.btn||[]).length;return 0!==c&&b.btn?(a=''+b.btn[0]+"",2===c&&(a=''+b.btn[1]+""+a),'
'+a+"
"):""}();if(b.fixed||(b.top=b.hasOwnProperty("top")?b.top:100,b.style=b.style||"",b.style+=" top:"+(d.body.scrollTop+b.top)+"px"),2===b.type&&(b.content='
'+(b.content||"")+"
"),c.innerHTML=(b.shade?'
':"")+'
"+h+'
'+b.content+"
"+i+"
",!b.type||2===b.type){var m=d[g](k[0]+b.type),n=m.length;n>=1&&l.close(m[0].getAttribute("index"))}document.body.appendChild(c),setTimeout(function(){try{d[f](a.id).className=d[f](a.id).className+" layermshow"}catch(c){return}b.success&&b.success(d[f](a.id))},1),a.index=j++,a.action(b)},b.prototype.action=function(a){var b=this;if(a.time&&(i.timer[b.index]=setTimeout(function(){l.close(b.index)},1e3*a.time)),a.title&&(d[f](b.id)[g]("layermend")[0].onclick=function(){a.cancel&&a.cancel(),l.close(b.index,a.end)}),a.btn&&(d[f](b.id)[g]("layermbtn")[0].onclick=function(c){var d=c.target.getAttribute("type");0==d?(a.no&&a.no(),l.close(b.index,a.end)):a.yes?a.yes(b.index):l.close(b.index,a.end)}),a.shade&&a.shadeClose){var c=d[f](b.id)[g]("laymshade")[0];c.onclick=function(){l.close(b.index,a.end)},c.ontouchmove=function(){l.close(b.index,a.end)}}};var l={v:"1.1",index:j,open:function(a){var c=new b(a||{});return c.index},close:function(a,b){var c=d[f](k[0]+a);c&&(c.innerHTML="",d.body.removeChild(c),clearTimeout(i.timer[a]),delete i.timer[a],b&&b())},closeAll:function(){for(var a=document.getElementsByClassName(k[0]),b=0,c=a.length;c>b;b++)l.close(a[b].getAttribute("index"))}};"function"==typeof define?define(function(){return l}):a.layer=l}(window); \ No newline at end of file diff --git a/m/need/layer.css b/m/need/layer.css index d9212e1..60b8fce 100644 --- a/m/need/layer.css +++ b/m/need/layer.css @@ -2,7 +2,7 @@ .layermbox{position:absolute; left:0; top:0; width:100%; z-index:19891014;} .layermbox *{margin:0; bottom:0;} -.layermchild{transition: all .18s; -webkit-transition: all .18s;} +.layermanim{transition: all .18s; -webkit-transition: all .18s;} .laymshade, .layermmain{position:fixed; left:0; top:0; width:100%; height:100%;} .laymshade{background-color:rgba(0,0,0, .5); pointer-events:auto;} @@ -12,18 +12,31 @@ .layermshow .layermchild{opacity: 1; transform:scale(1); -webkit-transform: scale(1);} .layermbox0 .layermchild{max-width:260px; min-width:150px;} .layermbox1 .layermchild{border:none; border-radius:0;} -.layermbox2 .layermchild{width:auto; max-width:260px; min-width:40px;} +.layermbox2 .layermchild{width:auto; max-width:260px; min-width:40px; border:none; background-color:rgba(0,0,0,.6); color:#fff;} .layermchild h3{padding:0 45px 0 10px; height:50px; line-height:50px; border-bottom:1px solid #EBEBEB; font-size:16px; font-weight:400; border-radius:5px 5px 0 0; border-bottom:1px solid #EBEBEB;} .layermchild h3, .layermbtn span{ text-overflow:ellipsis; overflow:hidden; white-space:nowrap;} .layermcont{padding:20px 15px; line-height:20px; border-radius:5px;} .layermbox1 .layermcont{padding:0;} -.layermbox2 .layermcont{padding-left:50px; background: url(data:image/gif;base64,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) no-repeat 20px 18px;} +.layermbox2 .layermcont{text-align:center; padding:30px 30px 0; line-height: 0;} +.layermbox2 .layermcont i{width:1.5rem; height:1.5rem; margin-left:8px; display:inline-block; background-color:#fff; border-radius:100%;} +.layermbox2 .layermcont i{-webkit-animation: bouncedelay 1.4s infinite ease-in-out; animation: bouncedelay 1.4s infinite ease-in-out; -webkit-animation-fill-mode: both; animation-fill-mode: both;} +@-webkit-keyframes bouncedelay{ + 0%,80%,100%{-webkit-transform:scale(0)} + 40%{-webkit-transform:scale(1)} +} +@keyframes bouncedelay{ + 0%,80%,100%{transform:scale(0);-webkit-transform:scale(0)} + 40%{transform:scale(1);-webkit-transform:scale(1)} +} +.layermbox2 .layermcont i:first-child{margin-left:0; -webkit-animation-delay: -.32s; animation-delay: -.32s;} +.layermbox2 .layermcont i.laymloadtwo{-webkit-animation-delay: -.16s; animation-delay: -.16s;} +.layermbox2 .layermcont>div{line-height:22px; padding-top:7px; margin-bottom:20px; font-size: 14px;} .layermbtn{position:relative; height:40px; line-height:40px; font-size:0; text-align:center; border-top:1px solid #EBEBEB;} .layermbtn span{position:relative; display:inline-block; width:50%; text-align:center; font-size:14px; cursor:pointer;} .layermbtn span:first-child{border:none; background-color:#fff} .layermbtn:before{content:'\20'; position:absolute; width:1px; height:100%; left:50%; top:0; background-color:#EBEBEB;} -.layermend{position:absolute; right:7px; top:7px; width:30px; height:30px; border: 0; font-weight:400; background: transparent; color:rgba(0,0,0,.2); cursor: pointer; -webkit-appearance: none; font-size:30px;} +.layermend{position:absolute; right:7px; top:5px; width:30px; height:30px; border: 0; font-weight:400; background: transparent; color:rgba(0,0,0,.2); cursor: pointer; -webkit-appearance: none; font-size:30px;} .layermend:focus, .layermend:hover{color:rgba(0,0,0,.5); outline: 0;); diff --git a/demo/demo.html b/test/demo.html similarity index 98% rename from demo/demo.html rename to test/demo.html index 54a45c4..e6a0984 100644 --- a/demo/demo.html +++ b/test/demo.html @@ -3,7 +3,7 @@ layer-更懂你的web弹窗解决方案 - + + + +
+
+ @Name:layer-v 弹层组件说明
+ @Author:贤心
+ @Blog:http://sentsin.com
+ @Site:http://sentsin.com/jquery/layer
+
+
+【注意事项】
+一、使用时,请把文件夹layer整个放置在您站点的任何一个目录,只需引入layer.js即可,除jQuery外,其它文件无需再引入。
+二、如果您的js引入是通过合并处理或者您不想采用layer自动获取的绝对路径,您可以通过layer.config()来配置(详见官网API页)
+三、jquery需1.8+
+四、更多使用说明与演示,请参见layer官网。
+五、使用时请务必保留来源,请勿用于违反我国法律的web平台。
+六、layer遵循LGPL协议,将永久性提供无偿服务。版权最终解释权:贤心。
+
+
+ +
+

扩展模块:图片查看器(相册层)

+
+ + + layer宣传图 + 我入互联网这五年 + 微摄影 + 三清山 + 国足 +
+ +
+ + + + + + + \ No newline at end of file From bb2a84e3ae73ff939f77432ff57e99854ecec697 Mon Sep 17 00:00:00 2001 From: sentsin Date: Mon, 20 Apr 2015 00:53:06 +0800 Subject: [PATCH 13/17] =?UTF-8?q?=E6=8E=92=E9=99=A4=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/README.md b/README.md index 7f2bd75..d0c5226 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,9 @@ layer是一款口碑非常不错的web弹层组件,她具备全方位的解决 [文档与演示](http://sentsin.com/jquery/layer/) -<<<<<<< HEAD ## 关于1.9 layer历经三年考验,已经清楚地懂得了人们最需要的是什么,因此这一版的核心是做减法,不仅剔除了部分冗余的API,对代码也进行了大量瘦身(所以请不要覆盖升级。),比1.8.5减少了将近300行代码,但是这并不意味着功能的削减,事实上,layer已经变得更强大!1.9的使命是告诉大家,选择layer是完全正确的,没有哪个类似组件会如此玩命地维护和改进。应当有理由相信,layer1.9是一个里程碑式的跨进! -======= ->>>>>>> 8a053b3d525317e048bd2f777d2392b4a62d27e8 ## 愿景 致力于打造国内最盛行的弹层组件,为web开发提供强劲动力。 @@ -22,12 +19,7 @@ layer历经三年考验,已经清楚地懂得了人们最需要的是什么, * [中国联通](http://app.10010.com/) * [蚂蚁短租](http://www.mayi.com/) * [phpyun](http://www.phpyun.com/) -<<<<<<< HEAD * [慕课网](http://www.imooc.com/) -======= -* [卡牌网](http://www.kapai.com/) -* [八圆包](http://www.bayuanbao.com/) ->>>>>>> 8a053b3d525317e048bd2f777d2392b4a62d27e8 事实上我们无法获取到更多案例,所以如果您有大型项目也在使用layer,您可以联系作者,以便在layer官网展现,也为您的品牌推广尽一些绵薄之力。 From ff3bb6b4661888b6db4f5aa26dc4d4e050cd527e Mon Sep 17 00:00:00 2001 From: sentsin Date: Mon, 20 Apr 2015 17:17:45 +0800 Subject: [PATCH 14/17] delete / --- layer.js | 973 +-------------------------------------------------- src/layer.js | 2 +- 2 files changed, 2 insertions(+), 973 deletions(-) diff --git a/layer.js b/layer.js index 444a6ec..aa025a0 100644 --- a/layer.js +++ b/layer.js @@ -1,973 +1,2 @@ -<<<<<<< HEAD /*! layer-v1.9.0 弹层组件 License LGPL http://sentsin.com/jquery/layer/ By 贤心 */ -;!function(a,b){"use strict";var c,d,e={getPath:function(){var a=document.scripts,b=a[a.length-1].src;return b.substring(0,b.lastIndexOf("/")+1)}(),config:{},end:{},btn:["确定","取消"],type:["dialog","page","iframe","loading","tips"]};a.layer={v:"1.9.0",ie6:!!a.ActiveXObject&&!a.XMLHttpRequest,index:0,path:e.getPath,config:function(a,b){var d=0;return a=a||{},e.config=c.extend(e.config,a),layer.path=e.config.path||layer.path,"string"==typeof a.extend&&(a.extend=[a.extend]),layer.use("skin/layer.css",a.extend&&a.extend.length>0?function f(){var c=a.extend;layer.use(c[c[d]?d:d-1],d'+(i?f.title[0]:f.title)+"":"";return f.zIndex=h,b([f.shade?'
':"",'
'+(a&&2!=f.type?"":k)+'
'+(0==f.type&&-1!==f.icon?'':"")+(1==f.type&&a?"":f.content||"")+'
'+function(){var a=j?'':"";return f.closeBtn&&(a+=''),a}()+""+(f.btn?function(){var a="";"string"==typeof f.btn&&(f.btn=[f.btn]);for(var b=0,c=f.btn.length;c>b;b++)a+=''+f.btn[b]+"";return'
'+a+"
"}():"")+"
"],k),c},f.pt.creat=function(){var a=this,b=a.config,f=a.index,h=b.content,i="object"==typeof h;switch("string"==typeof b.area&&(b.area="auto"===b.area?["",""]:[b.area,""]),b.type){case 0:b.btn="btn"in b?b.btn:e.btn[0],layer.close(c("div."+g[0]+"[type=dialog]").attr("times"));break;case 2:var h=b.content=i?b.content:[b.content||"http://sentsin.com?from=layer","auto"];b.content='';break;case 3:b.title=!1,b.closeBtn=!1,-1===b.icon&&0===b.icon,layer.closeAll("loading");break;case 4:i||(b.content=[b.content,"body"]),b.follow=b.content[1],b.content=b.content[0]+'',b.title=!1,b.shade=!1,b.fix=!1,b.tips="object"==typeof b.tips?b.tips:[b.tips,!0],b.tipsMore||layer.closeAll("tips")}a.vessel(i,function(d,e){c("body").append(d[0]),i?function(){2==b.type||4==b.type?function(){c("body").append(d[1])}():function(){h.parents("."+g[0])[0]||(h.show().addClass("layui-layer-wrap").wrap(d[1]),c("#"+g[0]+f).find("."+g[5]).before(e))}()}():c("body").append(d[1]),a.layero=c("#"+g[0]+f),b.scrollbar||g.html.css("overflow","hidden").attr("layer-full",f)}).auto(f),2==b.type&&layer.ie6&&a.layero.find("iframe").attr("src",h[0]),4==b.type?a.tips():a.offset(),b.fix&&d.on("resize",function(){a.offset(),(/^\d+%$/.test(b.area[0])||/^\d+%$/.test(b.area[1]))&&a.auto(f),4==b.type&&a.tips()}),b.time<=0||setTimeout(function(){layer.close(a.index)},b.time),a.move().callback()},f.pt.auto=function(a){function b(a){a=h.find(a),a.height(i[1]-j-k-2*(0|parseFloat(a.css("padding"))))}var e=this,f=e.config,h=c("#"+g[0]+a);""===f.area[0]&&f.maxWidth>0&&(/MSIE 7/.test(navigator.userAgent)&&f.btn&&h.width(h.innerWidth()),h.outerWidth()>f.maxWidth&&h.width(f.maxWidth));var i=[h.innerWidth(),h.innerHeight()],j=h.find(g[1]).outerHeight()||0,k=h.find("."+g[6]).outerHeight()||0;switch(f.type){case 2:b("iframe");break;default:""===f.area[1]?f.fix&&i[1]>d.height()&&(i[1]=d.height(),b("."+g[5])):b("."+g[5])}return e},f.pt.offset=function(){var a=this,b=a.config,c=a.layero,e=[c.outerWidth(),c.outerHeight()],f="object"==typeof b.offset;a.offsetTop=(d.height()-e[1])/2,a.offsetLeft=(d.width()-e[0])/2,f?(a.offsetTop=b.offset[0],a.offsetLeft=b.offset[1]):"auto"!==b.offset&&(a.offsetTop=b.offset,"rb"===b.offset&&(a.offsetTop=d.height()-e[1],a.offsetLeft=d.width()-e[0])),b.fix||(a.offsetTop+=d.scrollTop(),a.offsetLeft+=d.scrollLeft()),c.css({top:a.offsetTop,left:a.offsetLeft})},f.pt.tips=function(){var a=this,b=a.config,e=a.layero,f=[e.outerWidth(),e.outerHeight()],h=c(b.follow);h[0]||(h=c("body"));var i={width:h.outerWidth(),height:h.outerHeight(),top:h.offset().top,left:h.offset().left},j=e.find(".layui-layer-TipsG"),k=b.tips[0];b.tips[1]||j.remove(),i.autoLeft=function(){i.left+f[0]-d.width()>0?(i.tipLeft=i.left+i.width-f[0],j.css({right:12,left:"auto"})):i.tipLeft=i.left},i.where=[function(){i.autoLeft(),i.tipTop=i.top-f[1]-10,j.removeClass("layui-layer-TipsB").addClass("layui-layer-TipsT").css("border-right-color",b.tips[1])},function(){i.tipLeft=i.left+i.width+10,i.tipTop=i.top,j.removeClass("layui-layer-TipsL").addClass("layui-layer-TipsR").css("border-bottom-color",b.tips[1])},function(){i.autoLeft(),i.tipTop=i.top+i.height+10,j.removeClass("layui-layer-TipsT").addClass("layui-layer-TipsB").css("border-right-color",b.tips[1])},function(){i.tipLeft=i.left-f[0]-10,i.tipTop=i.top,j.removeClass("layui-layer-TipsR").addClass("layui-layer-TipsL").css("border-bottom-color",b.tips[1])}],i.where[k-1](),1===k?i.top-(d.scrollTop()+f[1]+16)<0&&i.where[2]():2===k?d.width()-(i.left+i.width+f[0]+16)>0||i.where[3]():3===k?i.top-d.scrollTop()+i.height+f[1]+16-d.height()>0&&i.where[0]():4===k&&f[0]+16-i.left>0&&i.where[1](),e.find("."+g[5]).css({"background-color":b.tips[1],"padding-right":b.closeBtn?"30px":""}),e.css({left:i.tipLeft,top:i.tipTop})},f.pt.move=function(){var a=this,b=a.config,e={setY:0,moveLayer:function(){var a=e.layero,b=parseInt(a.css("margin-left")),c=parseInt(e.move.css("left"));0===b||(c-=b),"fixed"!==a.css("position")&&(c-=a.parent().offset().left,e.setY=0),a.css({left:c,top:parseInt(e.move.css("top"))-e.setY})}},f=a.layero.find(b.move);return b.move&&f.attr("move","ok"),f.css({cursor:b.move?"move":"auto"}),c(b.move).on("mousedown",function(a){if(a.preventDefault(),"ok"===c(this).attr("move")){e.ismove=!0,e.layero=c(this).parents("."+g[0]);var f=e.layero.offset().left,h=e.layero.offset().top,i=e.layero.width()-6,j=e.layero.height()-6;c("#layui-layer-moves")[0]||c("body").append('
'),e.move=c("#layui-layer-moves"),b.moveType&&e.move.css({visibility:"hidden"}),e.moveX=a.pageX-e.move.position().left,e.moveY=a.pageY-e.move.position().top,"fixed"!==e.layero.css("position")||(e.setY=d.scrollTop())}}),c(document).mousemove(function(a){if(e.ismove){var c=a.pageX-e.moveX,f=a.pageY-e.moveY;if(a.preventDefault(),!b.moveOut){e.setY=d.scrollTop();var g=d.width()-e.move.outerWidth(),h=e.setY;0>c&&(c=0),c>g&&(c=g),h>f&&(f=h),f>d.height()-e.move.outerHeight()+e.setY&&(f=d.height()-e.move.outerHeight()+e.setY)}e.move.css({left:c,top:f}),b.moveType&&e.moveLayer(),c=f=g=h=null}}).mouseup(function(){try{e.ismove&&(e.moveLayer(),e.move.remove()),e.ismove=!1}catch(a){e.ismove=!1}b.moveEnd&&b.moveEnd()}),a},f.pt.callback=function(){var a=this,b=a.layero,d=a.config;a.openLayer(),d.success&&(2==d.type?b.find("iframe")[0].onload=function(){this.className="",d.success(b,a.index)}:d.success(b,a.index)),layer.ie6&&a.IE6(b),b.find("."+g[6]+"0").on("click",function(){d.yes?d.yes(a.index):layer.close(a.index)}),b.find("."+g[7]+",."+g[6]+"1").on("click",function(){d.cancel&&d.cancel(a.index),layer.close(a.index)}),d.shadeClose&&c("#layui-layer-shade"+a.index).on("click",function(){layer.close(a.index)}),b.find(".layui-layer-min").on("click",function(){layer.min(a.index,d),d.min&&d.min(b)}),b.find(".layui-layer-max").on("click",function(){c(this).hasClass("layui-layer-maxmin")?(layer.restore(a.index),d.restore&&d.restore(b)):(layer.full(a.index,d),d.full&&d.full(b))}),d.end&&(e.end[a.index]=d.end)},e.reselect=function(){c.each(c("select"),function(){var a=c(this);a.parents("."+g[0])[0]||1==a.attr("layer")&&c("."+g[0]).length<1&&a.removeAttr("layer").show(),a=null})},f.pt.IE6=function(a){function b(){a.css({top:f+(e.config.fix?d.scrollTop():0)})}var e=this,f=a.offset().top;b(),d.scroll(b),c("select").each(function(){var a=c(this);a.parents("."+g[0])[0]||"none"===a.css("display")||a.attr({layer:"1"}).hide(),a=null})},f.pt.openLayer=function(){var a=this;layer.zIndex=a.config.zIndex,layer.setTop=function(a){var b=function(){layer.zIndex++,a.css("z-index",layer.zIndex+1)};return layer.zIndex=parseInt(a[0].style.zIndex),a.on("mousedown",b),layer.zIndex}},e.record=function(a){var b=[a.outerWidth(),a.outerHeight(),a.position().top,a.position().left+parseFloat(a.css("margin-left"))];a.find(".layui-layer-max").addClass("layui-layer-maxmin"),a.attr({area:b})},e.rescollbar=function(a){g.html.attr("layer-full")==a&&(g.html[0].style.removeProperty?g.html[0].style.removeProperty("overflow"):g.html[0].style.removeAttribute("overflow"),g.html.removeAttr("layer-full"))},layer.getChildFrame=function(a,b){return b=b||c("."+g[4]).attr("times"),c("#"+g[0]+b).find("iframe").contents().find(a)},layer.getFrameIndex=function(a){return c("#"+a).parents("."+g[4]).attr("times")},layer.iframeAuto=function(a){if(a){var b=layer.getChildFrame("body",a).outerHeight(),d=c("#"+g[0]+a),e=d.find(g[1]).outerHeight()||0,f=d.find("."+g[6]).outerHeight()||0;d.css({height:b+e+f}),d.find("iframe").css({height:b})}},layer.iframeSrc=function(a,b){c("#"+g[0]+a).find("iframe").attr("src",b)},layer.style=function(a,b){var d=c("#"+g[0]+a),f=d.attr("type"),h=d.find(g[1]).outerHeight()||0,i=d.find("."+g[6]).outerHeight()||0;(f===e.type[1]||f===e.type[2])&&(d.css(b),f===e.type[2]&&d.find("iframe").css({height:parseFloat(b.height)-h-i}))},layer.min=function(a){var b=c("#"+g[0]+a),d=b.find(g[1]).outerHeight()||0;e.record(b),layer.style(a,{width:180,height:d}),b.find(".layui-layer-min").hide(),"page"===b.attr("type")&&b.find(g[4]).hide(),e.rescollbar(a)},layer.restore=function(a){{var b=c("#"+g[0]+a),d=b.attr("area").split(",");b.attr("type")}layer.style(a,{width:parseFloat(d[0]),height:parseFloat(d[1]),top:parseFloat(d[2]),left:parseFloat(d[3])}),b.find(".layui-layer-max").removeClass("layui-layer-maxmin"),b.find(".layui-layer-min").show(),"page"===b.attr("type")&&b.find(g[4]).show(),e.rescollbar(a)},layer.full=function(a){var b,f=c("#"+g[0]+a);e.record(f),g.html.attr("layer-full")||g.html.css("overflow","hidden").attr("layer-full",a),clearTimeout(b),b=setTimeout(function(){var b="fixed"===f.css("position");layer.style(a,{top:b?0:d.scrollTop(),left:b?0:d.scrollLeft(),width:d.width(),height:d.height()}),f.find(".layui-layer-min").hide()},100)},layer.title=function(a,b){var d=c("#"+g[0]+(b||layer.index)).find(g[1]);d.html(a)},layer.close=function(a){var b=c("#"+g[0]+a),d=b.attr("type");if(b){if(d==e.type[1]&&"object"===b.attr("conType")){b.children(":not(."+g[5]+")").remove();for(var f=0;2>f;f++)b.find(".layui-layer-wrap").unwrap().hide()}else b.innerHTML="",b.remove();c("#layui-layer-moves, #layui-layer-shade"+a).remove(),layer.ie6&&e.reselect(),e.rescollbar(a),"function"==typeof e.end[a]&&e.end[a](),delete e.end[a]}},layer.closeAll=function(a){c.each(c("."+g[0]),function(){var b=c(this),d=a?b.attr("type")===a:1;d&&layer.close(b.attr("times")),d=null})},e.run=function(){c=jQuery,d=c(a),g.html=c("html"),layer.open=function(a){var b=new f(a);return b.index}},"function"==typeof define?define(function(){return e.run(),layer}):function(){e.run(),layer.use("/skin/layer.css")}()}(window); -======= -/**************************************** - - @Name:layer v1.8.5 弹层组件开发版 - @Author:贤心 - @Date:2014-08-13 - @Blog:http://sentsin.com - @Copyright:Sentsin Xu(贤心) - @官网:http://sentsin.com/jquery/layer - - */ - -;!function(window, undefined){ -"use strict"; - -var path = '', //组件存放目录,为空表示自动获取(不用填写host,相对站点的根目录即可)。 - -$, win, ready = { - getPath: function(){ - var js = document.scripts, jsPath = js[js.length - 1].src; - return path ? path : jsPath.substring(0, jsPath.lastIndexOf("/") + 1); - }, - - //五种原始层模式 - type: ['dialog', 'page', 'iframe', 'loading', 'tips'] -}; - -//默认内置方法。 -window.layer = { - v: '1.8.5', - ie6: !!window.ActiveXObject&&!window.XMLHttpRequest, - index: 0, - path: ready.getPath(), - - //载入模块 - use: function(module, callback){ - var i = 0, head = $('head')[0]; - var module = module.replace(/\s/g, ''); - var iscss = /\.css$/.test(module); - var node = document.createElement(iscss ? 'link' : 'script'); - var id = module.replace(/\.|\//g, ''); - if(iscss){ - node.type = 'text/css'; - node.rel = 'stylesheet'; - } - node[iscss ? 'href' : 'src'] = /^http:\/\//.test(module) ? module : layer.path + module; - node.id = id; - if(!$('#'+ id)[0]){ - head.appendChild(node); - } - if(callback){ - if(document.all){ - $(node).ready(callback); - } else { - $(node).load(callback); - } - } - }, - - alert: function(msg, icon, fn, yes){ - var isfn = (typeof fn === 'function'), conf = { - dialog: {msg: msg, type: icon, yes: isfn ? fn : yes}, - area: ['auto', 'auto'] - }; - isfn || (conf.title = fn); - return $.layer(conf); - }, - - confirm: function(msg, yes, fn, no){ - var isfn = (typeof fn === 'function'), conf = { - dialog: {msg: msg, type: 4, btns: 2, yes: yes, no: isfn ? fn : no} - }; - isfn || (conf.title = fn); - return $.layer(conf); - }, - - msg: function(msg, time, parme, end){ - var conf = { - title: false, - closeBtn: false, - time: time === undefined ? 2 : time, - dialog: {msg: (msg === '' || msg === undefined) ? ' ' : msg}, - end: end - }; - if(typeof parme === 'object'){ - conf.dialog.type = parme.type; - conf.shade = parme.shade; - conf.shift = parme.rate; - } else if(typeof parme === 'function') { - conf.end = parme - } else { - conf.dialog.type = parme; - } - return $.layer(conf); - }, - - //加载层快捷引用 - load: function(parme, icon){ - if(typeof parme === 'string'){ - return layer.msg(parme, icon || 0, 16); - } else { - return $.layer({ - time: parme, - loading: {type : icon}, - bgcolor: icon ? '#fff' : '', - shade: icon ? [0.1, '#000'] : [0], - border: (icon === 3 || !icon) ? [0] : [6, 0.3, '#000'], - type : 3, - title : ['',false], - closeBtn : [0 , false] - }); - } - }, - - //tips层快捷引用 - tips: function(html, follow, parme, maxWidth, guide, style){ - var conf = { - type: 4, shade: false, - success: function(layero){ - if(!this.closeBtn){ - layero.find('.xubox_tips').css({'padding-right': 10}); - } - }, - bgcolor:'', tips: {msg: html, follow: follow} - }; - conf.time = typeof parme === 'object' ? parme.time : (parme|0); - parme = parme || {}; - conf.closeBtn = parme.closeBtn || false - conf.maxWidth = parme.maxWidth || maxWidth; - conf.tips.guide = parme.guide || guide; - conf.tips.style = parme.style || style; - conf.tips.more = parme.more; - return $.layer(conf); - } -}; - -//缓存常用字符 -var doms = ['xubox_layer', 'xubox_iframe', '.xubox_title', '.xubox_text', '.xubox_page', '.xubox_main']; - -var Class = function(setings){ - var that = this, config = that.config; - layer.index++; - that.index = layer.index; - that.config = $.extend({} , config , setings); - that.config.dialog = $.extend({}, config.dialog , setings.dialog); - that.config.page = $.extend({}, config.page , setings.page); - that.config.iframe = $.extend({}, config.iframe , setings.iframe); - that.config.loading = $.extend({}, config.loading , setings.loading); - that.config.tips = $.extend({}, config.tips , setings.tips); - that.creat(); -}; - -Class.pt = Class.prototype; - -//默认配置 -Class.pt.config = { - type: 0, - shade: [0.3, '#000'], - fix: true, - move: '.xubox_title', - title: '信息', - offset: ['', '50%'], - area: ['310px', 'auto'], - closeBtn: [0, true], - time: 0, - bgcolor: '#fff', - border: [6, 0.3, '#000'], - zIndex: 19891014, - maxWidth: 400, - dialog: {btns: 1, btn: ['确定','取消'], type : 8, msg: '', yes: function(index){layer.close(index);}, no: function(index){layer.close(index);}}, - page: {dom: '#xulayer', html: '', url: ''}, - iframe: {src: 'http://sentsin.com', scrolling: 'auto'}, - loading: {type: 0}, - tips: {msg: '', follow: '', guide: 0, isGuide: true, style: ['background-color:#FF9900; color:#fff;', '#FF9900']}, - success: function(layer){}, //创建成功后的回调 - close: function(index){ layer.close(index);}, //右上角关闭回调 - end: function(){} //终极销毁回调 -}; - -//容器 -Class.pt.space = function(html){ - var that = this, html = html || '', times = that.index, config = that.config, dialog = config.dialog, - ico = dialog.type === -1 ? '' : '', - frame = [ - '
'+ ico +'' + dialog.msg + '
', - '
'+ html +'
', - '', - '', - '
'+ config.tips.msg +'
' - ], - shade = '' , border = '', zIndex = config.zIndex + times, - shadeStyle = 'z-index:'+ zIndex +'; background-color:'+ config.shade[1] +'; opacity:'+ config.shade[0] +'; filter:alpha(opacity='+ config.shade[0]*100 +');'; - config.shade[0] && (shade = '
'); - - config.zIndex = zIndex; - var title = '', closebtn = '', borderStyle = "z-index:"+ (zIndex-1) +"; background-color: "+ config.border[2] +"; opacity:"+ config.border[1] +"; filter:alpha(opacity="+ config.border[1]*100 +"); top:-"+ config.border[0] +"px; left:-"+ config.border[0] +"px;"; - config.border[0] && (border = '
'); - - if(config.maxmin && (config.type === 1 || config.type === 2) && (!/^\d+%$/.test(config.area[0]) || !/^\d+%$/.test(config.area[1]))){ - closebtn = ''; - } - config.closeBtn[1] && (closebtn += ''); - var titype = typeof config.title === 'object'; - config.title && (title = '
' + (titype ? config.title[0] : config.title) + '
'); - return [shade, - '
' - + '
' - + frame[config.type] - + title - + ''+ closebtn + '' - + '' - + '
'+ border + '
' - ]; -}; - -//创建骨架 -Class.pt.creat = function(){ - var that = this , space = '', config = that.config, dialog = config.dialog, times = that.index; - var page = config.page, body = $("body"), setSpace = function(html){ - var html = html || ''; - space = that.space(html); - body.append($(space[0])); - }; - - switch(config.type){ - case 0: - config.title || (config.area = ['auto','auto']); - $('.xubox_dialog')[0] && layer.close($('.xubox_dialog').parents('.'+ doms[0]).attr('times')); - break; - - case 1: - if(page.html !== ''){ - setSpace('
'+ page.html +'
'); - body.append($(space[1])); - } else if (page.url !== ''){ - setSpace('
'+ page.html +'
'); - body.append($(space[1])); - $.get(page.url, function(datas){ - $('#xuboxPageHtml'+ times).html(datas.toString()); - page.ok && page.ok(datas); - }); - } else { - if($(page.dom).parents(doms[4]).length == 0){ - setSpace(); - $(page.dom).show().wrap($(space[1])); - } else { - return; - } - } - break; - - case 3: - config.title = false; - config.area = ['auto', 'auto']; - config.closeBtn = ['', false]; - $('.xubox_loading')[0] && layer.closeLoad(); - break; - - case 4: - config.title = false; - config.area = ['auto', 'auto']; - config.fix = false; - config.border = [0]; - config.tips.more || layer.closeTips(); - break; - }; - if(config.type !== 1){ - setSpace(); - body.append($(space[1])); - } - - var layerE = that.layerE = $('#'+ doms[0] + times); - - layerE.css({width: config.area[0], height: config.area[1]}); - config.fix || layerE.css({position: 'absolute'}); - - //配置按钮 - if(config.title && (config.type !== 3 || config.type !== 4)){ - var confbtn = config.type === 0 ? dialog : config, layerBtn = layerE.find('.xubox_botton'); - confbtn.btn = config.btn || dialog.btn; - switch(confbtn.btns){ - case 0: - layerBtn.html('').hide(); - break; - case 1: - layerBtn.html(''+ confbtn.btn[0] +''); - break; - case 2: - layerBtn.html(''+ confbtn.btn[0] +'' + ''+ confbtn.btn[1] + ''); - break; - } - } - - if(layerE.css('left') === 'auto'){ - layerE.hide(); - setTimeout(function(){ - layerE.show(); - that.set(times); - }, 500); - }else{ - that.set(times); - } - config.time <= 0 || that.autoclose(); - that.callback(); -}; - -ready.fade = function(obj, time, opa){ - obj.css({opacity: 0}).animate({opacity: opa}, time); -}; - -//计算坐标 -Class.pt.offset = function(){ - var that = this, config = that.config, layerE = that.layerE, laywid = layerE.outerHeight(); - if(config.offset[0] === '' && laywid < win.height()){ - that.offsetTop = (win.height() - laywid - 2*config.border[0])/2; - }else if(config.offset[0].indexOf("px") != -1){ - that.offsetTop = parseFloat(config.offset[0]); - } else { - that.offsetTop = parseFloat(config.offset[0]||0)/100 * win.height(); - } - that.offsetTop = that.offsetTop + config.border[0] + (config.fix ? 0 : win.scrollTop()); - if(config.offset[1].indexOf("px") != -1){ - that.offsetLeft = parseFloat(config.offset[1]) + config.border[0]; - } else { - config.offset[1] = config.offset[1] === '' ? '50%' : config.offset[1]; - if(config.offset[1] === '50%'){ - that.offsetLeft = config.offset[1]; - }else{ - that.offsetLeft = parseFloat(config.offset[1])/100 * win.width() + config.border[0]; - } - }; -}; - -//初始化骨架 -Class.pt.set = function(times){ - var that = this; - var config = that.config; - var dialog = config.dialog; - var page = config.page; - var loading = config.loading; - var layerE = that.layerE; - var layerTitle = layerE.find(doms[2]); - - that.autoArea(times); - - if(config.title){ - if(config.type === 0){ - layer.ie6 && layerTitle.css({width : layerE.outerWidth()}); - } - }else{ - config.type !== 4 && layerE.find('.xubox_close').addClass('xubox_close1'); - }; - - layerE.attr({'type' : ready.type[config.type]}); - that.offset(); - - //判断是否动画弹出 - if(config.type !== 4){ - if(config.shift && !layer.ie6){ - if(typeof config.shift === 'object'){ - that.shift(config.shift[0], config.shift[1]||500, config.shift[2]); - } else { - that.shift(config.shift, 500); - } - } else { - layerE.css({top: that.offsetTop, left: that.offsetLeft}); - } - } - - switch(config.type){ - case 0: - layerE.find(doms[5]).css({'background-color': '#fff'}); - if(config.title){ - layerE.find(doms[3]).css({paddingTop: 18 + layerTitle.outerHeight()}); - }else{ - layerE.find('.xubox_msgico').css({top: 8}); - layerE.find(doms[3]).css({marginTop : 11}); - } - break; - - case 1: - layerE.find(page.dom).addClass('layer_pageContent'); - config.shade[0] && layerE.css({zIndex: config.zIndex + 1}); - config.title && layerE.find(doms[4]).css({top: layerTitle.outerHeight()}); - break; - - case 2: - var iframe = layerE.find('.'+ doms[1]), heg = layerE.height(); - iframe.addClass('xubox_load').css({width: layerE.width()}); - config.title ? iframe.css({top: layerTitle.height(), height: heg - layerTitle.height()}) : iframe.css({top: 0, height : heg}); - layer.ie6 && iframe.attr('src', config.iframe.src); - break; - - case 4: - var layArea = [0, layerE.outerHeight()], fow = $(config.tips.follow), fowo = { - width: fow.outerWidth(), - height: fow.outerHeight(), - top: fow.offset().top, - left: fow.offset().left - }, tipsG = layerE.find('.layerTipsG'); - - config.tips.isGuide || tipsG.remove(); - layerE.outerWidth() > config.maxWidth && layerE.width(config.maxWidth); - - fowo.tipColor = config.tips.style[1]; - layArea[0] = layerE.outerWidth(); - - fowo.autoLeft = function(){ - if(fowo.left + layArea[0] - win.width() > 0){ - fowo.tipLeft = fowo.left + fowo.width - layArea[0]; - tipsG.css({right: 12, left: 'auto'}); - } else { - fowo.tipLeft = fowo.left; - }; - }; - - //辨别tips的方位 - fowo.where = [function(){ //上 - fowo.autoLeft(); - fowo.tipTop = fowo.top - layArea[1] - 10; - tipsG.removeClass('layerTipsB').addClass('layerTipsT').css({'border-right-color': fowo.tipColor}); - }, function(){ //右 - fowo.tipLeft = fowo.left + fowo.width + 10; - fowo.tipTop = fowo.top; - tipsG.removeClass('layerTipsL').addClass('layerTipsR').css({'border-bottom-color': fowo.tipColor}); - }, function(){ //下 - fowo.autoLeft(); - fowo.tipTop = fowo.top + fowo.height + 10; - tipsG.removeClass('layerTipsT').addClass('layerTipsB').css({'border-right-color': fowo.tipColor}); - }, function(){ //左 - fowo.tipLeft = fowo.left - layArea[0] + 10; - fowo.tipTop = fowo.top; - tipsG.removeClass('layerTipsR').addClass('layerTipsL').css({'border-bottom-color': fowo.tipColor}); - }]; - fowo.where[config.tips.guide](); - - /* 8*2为小三角形占据的空间 */ - if(config.tips.guide === 0){ - fowo.top - (win.scrollTop() + layArea[1] + 8*2) < 0 && fowo.where[2](); - } else if(config.tips.guide === 1){ - win.width() - (fowo.left + fowo.width + layArea[0] + 8*2) > 0 || fowo.where[3]() - } else if(config.tips.guide === 2){ - (fowo.top - win.scrollTop() + fowo.height + layArea[1] + 8*2) - win.height() > 0 && fowo.where[0](); - } else if(config.tips.guide === 3){ - layArea[0] + 8*2 - fowo.left > 0 && fowo.where[1]() - } else if(config.tips.guide === 4){ - - } - layerE.css({left: fowo.tipLeft, top: fowo.tipTop}); - break; - }; - - if(config.fadeIn){ - ready.fade(layerE, config.fadeIn, 1); - ready.fade($('#xubox_shade'+ times), config.fadeIn, config.shade[0]); - } - - //坐标自适应浏览器窗口尺寸 - if(config.fix && config.offset[0] === '' && !config.shift){ - win.on('resize', function(){ - layerE.css({top: (win.height() - layerE.outerHeight())/2}); - }); - } - - that.move(); -}; - -//动画进入 -Class.pt.shift = function(type, rate, stop){ - var that = this, config = that.config; - var layerE = that.layerE; - var cutWth = 0, ww = win.width(); - var wh = win.height() + (config.fix ? 0 : win.scrollTop()); - - if(config.offset[1] == '50%' || config.offset[1] == ''){ - cutWth = layerE.outerWidth()/2; - } else { - cutWth = layerE.outerWidth(); - } - - var anim = { - t: {top: that.offsetTop}, - b: {top : wh - layerE.outerHeight() - config.border[0]}, - cl: cutWth + config.border[0], - ct: -layerE.outerHeight(), - cr: ww - cutWth - config.border[0] - }; - - switch(type){ - case 'left-top': - layerE.css({left: anim.cl, top: anim.ct}).animate(anim.t, rate); - break; - case 'top': - layerE.css({top: anim.ct}).animate(anim.t, rate); - break; - case 'right-top': - layerE.css({left: anim.cr, top: anim.ct}).animate(anim.t, rate); - break; - case 'right-bottom': - layerE.css({left: anim.cr, top: wh}).animate(stop ? anim.t : anim.b, rate); - break; - case 'bottom': - layerE.css({top: wh}).animate(stop ? anim.t : anim.b, rate); - break; - case 'left-bottom': - layerE.css({left: anim.cl, top: wh}).animate(stop ? anim.t : anim.b, rate); - break; - case 'left': - layerE.css({left: -layerE.outerWidth()}).animate({left: that.offsetLeft}, rate); - break; - } -}; - -//自适应宽高 -Class.pt.autoArea = function(times){ - var that = this, times = times || that.index, config = that.config, page = config.page; - var layerE = $('#'+ doms[0] + times), layerTitle = layerE.find(doms[2]), layerMian = layerE.find(doms[5]); - var titHeight = config.title ? layerTitle.innerHeight() : 0, outHeight, btnHeight = 0; - if(config.area[0] === 'auto' && layerMian.outerWidth() >= config.maxWidth){ - layerE.css({width : config.maxWidth}); - } - switch(config.type){ - case 0: - var aBtn = layerE.find('.xubox_botton>a'); - outHeight = layerE.find(doms[3]).outerHeight() + 20; - if(aBtn.length > 0){ - btnHeight = aBtn.outerHeight() + 20; - } - break; - case 1: - var layerPage = layerE.find(doms[4]); - outHeight = $(page.dom).outerHeight(); - config.area[0] === 'auto' && layerE.css({width : layerPage.outerWidth()}); - if(page.html !== '' || page.url !== ''){ - outHeight = layerPage.outerHeight(); - } - break; - case 2: - layerE.find('iframe').css({width: layerE.outerWidth(), height: layerE.outerHeight() - (config.title ? layerTitle.innerHeight() : 0)}); - break; - case 3: - var load = layerE.find(".xubox_loading"); - outHeight = load.outerHeight(); - layerMian.css({width: load.width()}); - break; - }; - (config.area[1] === 'auto') && layerMian.css({height: titHeight + outHeight + btnHeight}); - $('#xubox_border' + times).css({width: layerE.outerWidth() + 2*config.border[0] , height: layerE.outerHeight() + 2*config.border[0]}); - (layer.ie6 && config.area[0] !== 'auto') && layerMian.css({width : layerE.outerWidth()}); - (config.offset[1] === '50%' || config.offset[1] == '') && (config.type !== 4) ? layerE.css({marginLeft : -layerE.outerWidth()/2}) : layerE.css({marginLeft : 0}); -}; - -//拖拽层 -Class.pt.move = function(){ - var that = this, config = that.config, conf = { - setY: 0, - moveLayer: function(){ - if(parseInt(conf.layerE.css('margin-left')) == 0){ - var lefts = parseInt(conf.move.css('left')); - }else{ - var lefts = parseInt(conf.move.css('left')) + (-parseInt(conf.layerE.css('margin-left'))) - } - if(conf.layerE.css('position') !== 'fixed'){ - lefts = lefts - conf.layerE.parent().offset().left; - conf.setY = 0 - } - conf.layerE.css({left: lefts, top: parseInt(conf.move.css('top')) - conf.setY}); - } - }; - - var movedom = that.layerE.find(config.move); - config.move && movedom.attr('move','ok'); - config.move ? movedom.css({cursor: 'move'}) : movedom.css({cursor: 'auto'}); - - $(config.move).on('mousedown', function(M){ - M.preventDefault(); - if($(this).attr('move') === 'ok'){ - conf.ismove = true; - conf.layerE = $(this).parents('.'+ doms[0]); - var xx = conf.layerE.offset().left, yy = conf.layerE.offset().top, ww = conf.layerE.width() - 6, hh = conf.layerE.height() - 6; - if(!$('#xubox_moves')[0]){ - $('body').append('
'); - } - conf.move = $('#xubox_moves'); - config.moveType && conf.move.css({opacity: 0}); - - conf.moveX = M.pageX - conf.move.position().left; - conf.moveY = M.pageY - conf.move.position().top; - conf.layerE.css('position') !== 'fixed' || (conf.setY = win.scrollTop()); - } - }); - - $(document).mousemove(function(M){ - if(conf.ismove){ - var offsetX = M.pageX - conf.moveX, offsetY = M.pageY - conf.moveY; - M.preventDefault(); - - //控制元素不被拖出窗口外 - if(!config.moveOut){ - conf.setY = win.scrollTop(); - var setRig = win.width() - conf.move.outerWidth() - config.border[0], setTop = config.border[0] + conf.setY; - offsetX < config.border[0] && (offsetX = config.border[0]); - offsetX > setRig && (offsetX = setRig); - offsetY < setTop && (offsetY = setTop); - offsetY > win.height() - conf.move.outerHeight() - config.border[0] + conf.setY && (offsetY = win.height() - conf.move.outerHeight() - config.border[0] + conf.setY); - } - - conf.move.css({left: offsetX, top: offsetY}); - config.moveType && conf.moveLayer(); - - offsetX = null; - offsetY = null; - setRig = null; - setTop = null - } - }).mouseup(function(){ - try{ - if(conf.ismove){ - conf.moveLayer(); - conf.move.remove(); - } - conf.ismove = false; - }catch(e){ - conf.ismove = false; - } - config.moveEnd && config.moveEnd(); - }); -}; - -//自动关闭layer -Class.pt.autoclose = function(){ - var that = this, time = that.config.time, maxLoad = function(){ - time--; - if(time === 0){ - layer.close(that.index); - clearInterval(that.autotime); - } - }; - that.autotime = setInterval(maxLoad , 1000); -}; - -ready.config = { - end: {} -}; - -Class.pt.callback = function(){ - var that = this, layerE = that.layerE, config = that.config, dialog = config.dialog; - that.openLayer(); - that.config.success(layerE); - layer.ie6 && that.IE6(layerE); - - layerE.find('.xubox_close').on('click', function(){ - config.close(that.index); - layer.close(that.index); - }); - - layerE.find('.xubox_yes').on('click',function(){ - config.yes ? config.yes(that.index) : dialog.yes(that.index); - }); - - layerE.find('.xubox_no').on('click',function(){ - config.no ? config.no(that.index) : dialog.no(that.index); - layer.close(that.index); - }); - - if(that.config.shadeClose){ - $('#xubox_shade'+ that.index).on('click', function(){ - layer.close(that.index); - }); - } - - //最小化 - layerE.find('.xubox_min').on('click', function(){ - layer.min(that.index, config); - config.min && config.min(layerE); - }); - - //全屏/还原 - layerE.find('.xubox_max').on('click', function(){ - if($(this).hasClass('xubox_maxmin')){ - layer.restore(that.index); - config.restore && config.restore(layerE); - } else { - layer.full(that.index, config); - config.full && config.full(layerE); - } - }); - - ready.config.end[that.index] = config.end; -}; - -//恢复select -ready.reselect = function(){ - $.each($('select'), function(index , value){ - var sthis = $(this); - if(!sthis.parents('.'+doms[0])[0]){ - (sthis.attr('layer') == 1 && $('.'+doms[0]).length < 1) && sthis.removeAttr('layer').show(); - } - sthis = null; - }); -}; - -Class.pt.IE6 = function(layerE){ - var that = this; - var _ieTop = layerE.offset().top; - //ie6的固定与相对定位 - if(that.config.fix){ - var ie6Fix = function(){ - layerE.css({top : win.scrollTop() + _ieTop}); - }; - }else{ - var ie6Fix = function(){ - layerE.css({top : _ieTop}); - }; - } - ie6Fix(); - win.scroll(ie6Fix); - - //隐藏select - $.each($('select'), function(index , value){ - var sthis = $(this); - if(!sthis.parents('.'+doms[0])[0]){ - sthis.css('display') == 'none' || sthis.attr({'layer' : '1'}).hide(); - } - sthis = null; - }); -}; - -//给layer对象拓展方法 -Class.pt.openLayer = function(){ - var that = this, layerE = that.layerE; - - //自适应宽高 - layer.autoArea = function(index){ - return that.autoArea(index); - }; - - //兼容旧版出场动画 - layer.shift = function(type, rate, stop){ - that.shift(type, rate, stop); - }; - - //初始化拖拽元素 - layer.setMove = function(){ - return that.move(); - }; - - //置顶当前窗口 - layer.zIndex = that.config.zIndex; - layer.setTop = function(layerNow){ - var setZindex = function(){ - layer.zIndex++; - layerNow.css('z-index', layer.zIndex + 1); - }; - layer.zIndex = parseInt(layerNow[0].style.zIndex); - layerNow.on('mousedown', setZindex); - return layer.zIndex; - }; - -}; - -ready.isauto = function(layero, options, offset){ - options.area[0] === 'auto' && (options.area[0] = layero.outerWidth()); - options.area[1] === 'auto' && (options.area[1] = layero.outerHeight()); - layero.attr({area: options.area + ',' + offset}); - layero.find('.xubox_max').addClass('xubox_maxmin'); -}; - -ready.rescollbar = function(index){ - if(doms.html.attr('layer-full') == index){ - if(doms.html[0].style.removeProperty){ - doms.html[0].style.removeProperty('overflow'); - } else { - doms.html[0].style.removeAttribute('overflow'); - } - doms.html.removeAttr('layer-full'); - } -}; - - -/** - * 集成属性/方法 - **/ - - -//获取page层所在索引 -layer.getIndex = function(selector){ - return $(selector).parents('.'+doms[0]).attr('times'); -}; - -//获取子iframe的DOM -layer.getChildFrame = function(selector, index){ - index = index || $('.'+ doms[1]).parents('.'+doms[0]).attr('times'); - return $('#'+ doms[0] + index).find('.'+ doms[1]).contents().find(selector); -}; - -//得到当前iframe层的索引,子iframe时使用 -layer.getFrameIndex = function(name){ - return $(name ? '#'+ name : '.'+ doms[1]).parents('.'+doms[0]).attr('times'); -}; - -//iframe层自适应宽高 -layer.iframeAuto = function(index){ - index = index || $('.'+ doms[1]).parents('.'+doms[0]).attr('times'); - var heg = layer.getChildFrame('body', index).outerHeight(), - layero = $('#'+ doms[0] + index), tit = layero.find(doms[2]), titHt = 0; - tit && (titHt = tit.height()); - layero.css({height: heg + titHt}); - var bs = -parseInt($('#xubox_border'+ index).css('top')); - $('#xubox_border'+ index).css({height: heg + 2*bs + titHt}); - $('#'+ doms[1] + index).css({height: heg}); -}; - -//重置iframe url -layer.iframeSrc = function(index, url){ - $('#'+ doms[0] + index).find('iframe').attr('src', url); -}; - -//重置层 -layer.area = function(index, options){ - var layero = [$('#'+ doms[0] + index), $('#xubox_border'+ index)], - type = layero[0].attr('type'), main = layero[0].find(doms[5]), - title = layero[0].find(doms[2]); - - if(type === ready.type[1] || type === ready.type[2]){ - layero[0].css(options); - main.css({width: options.width, height: options.height}); - if(type === ready.type[2]){ - var iframe = layero[0].find('iframe'); - iframe.css({width: options.width, height: title ? options.height - title.innerHeight() : options.height}); - } - if(layero[0].css('margin-left') !== '0px') { - options.hasOwnProperty('top') && layero[0].css({top: options.top - (layero[1][0] ? parseFloat(layero[1].css('top')) : 0)}); - options.hasOwnProperty('left') && layero[0].css({left: options.left + layero[0].outerWidth()/2 - (layero[1][0] ? parseFloat(layero[1].css('left')) : 0)}); - layero[0].css({marginLeft : -layero[0].outerWidth()/2}); - } - if(layero[1][0]){ - layero[1].css({ - width: parseFloat(options.width) - 2*parseFloat(layero[1].css('left')), - height: parseFloat(options.height) - 2*parseFloat(layero[1].css('top')) - }); - } - } -}; - -//最小化 -layer.min = function(index, options){ - var layero = $('#'+ doms[0] + index), offset = [layero.position().top, layero.position().left + parseFloat(layero.css('margin-left'))]; - ready.isauto(layero, options, offset); - layer.area(index, {width: 180, height: 35}); - layero.find('.xubox_min').hide(); - layero.attr('type') === 'page' && layero.find(doms[4]).hide(); - ready.rescollbar(index); -}; - -//还原 -layer.restore = function(index){ - var layero = $('#'+ doms[0] + index), area = layero.attr('area').split(','); - var type = layero.attr('type'); - layer.area(index, { - width: parseFloat(area[0]), - height: parseFloat(area[1]), - top: parseFloat(area[2]), - left: parseFloat(area[3]) - }); - layero.find('.xubox_max').removeClass('xubox_maxmin'); - layero.find('.xubox_min').show(); - layero.attr('type') === 'page' && layero.find(doms[4]).show(); - ready.rescollbar(index); -}; - -//全屏 -layer.full = function(index, options){ - var layero = $('#'+ doms[0] + index), borders = options.border[0]*2 || 6, timer; - var offset = [layero.position().top, layero.position().left + parseFloat(layero.css('margin-left'))]; - ready.isauto(layero, options, offset); - if(!doms.html.attr('layer-full')){ - doms.html.css('overflow','hidden').attr('layer-full', index); - } - clearTimeout(timer); - timer = setTimeout(function(){ - layer.area(index, { - top: layero.css('position') === 'fixed' ? 0 : win.scrollTop(), - left: layero.css('position') === 'fixed' ? 0 : win.scrollLeft(), - width: win.width() - borders, - height: win.height() - borders - }); - }, 100); -}; - -//改变title -layer.title = function(name, index){ - var title = $('#'+ doms[0] + (index||layer.index)).find('.xubox_title>em'); - title.html(name); -}; - -//关闭layer总方法 -layer.close = function(index){ - var layero = $('#'+ doms[0] + index), type = layero.attr('type'), shadeNow = $('#xubox_moves, #xubox_shade' + index); - if(!layero[0]){ - return; - } - if(type == ready.type[1]){ - if(layero.find('.xuboxPageHtml')[0]){ - layero[0].innerHTML = ''; - layero.remove(); - }else{ - layero.find('.xubox_setwin,.xubox_close,.xubox_botton,.xubox_title,.xubox_border').remove(); - for(var i = 0 ; i < 3 ; i++){ - layero.find('.layer_pageContent').unwrap().hide(); - } - } - }else{ - layero[0].innerHTML = ''; - layero.remove(); - } - shadeNow.remove(); - layer.ie6 && ready.reselect(); - ready.rescollbar(index); - typeof ready.config.end[index] === 'function' && ready.config.end[index](); - delete ready.config.end[index]; -}; - -//关闭loading层 -layer.closeLoad = function(){ - layer.close($('.xubox_loading').parents('.'+doms[0]).attr('times')); -}; - -//关闭tips层 -layer.closeTips = function(){ - layer.closeAll('tips'); -}; - -//关闭所有层 -layer.closeAll = function(type){ - $.each($('.'+doms[0]), function(){ - var othis = $(this); - var is = type ? (othis.attr('type') === type) : 1; - if(is){ - layer.close(othis.attr('times')); - } - is = null; - }); -}; - -//主入口 -ready.run = function(){ - $ = jQuery; - win = $(window); - doms.html = $('html'); - layer.use('skin/layer.css'); - $.layer = function(deliver){ - var o = new Class(deliver); - return o.index; - }; - (new Image()).src = layer.path + 'skin/default/xubox_ico0.png'; -}; - -if("function" === typeof define){ - define(function(){ - ready.run(); - return layer; - }); -}else{ - ready.run(); -} - -}(window); ->>>>>>> 8a053b3d525317e048bd2f777d2392b4a62d27e8 +;!function(a,b){"use strict";var c,d,e={getPath:function(){var a=document.scripts,b=a[a.length-1].src;return b.substring(0,b.lastIndexOf("/")+1)}(),config:{},end:{},btn:["确定","取消"],type:["dialog","page","iframe","loading","tips"]};a.layer={v:"1.9.0",ie6:!!a.ActiveXObject&&!a.XMLHttpRequest,index:0,path:e.getPath,config:function(a,b){var d=0;return a=a||{},e.config=c.extend(e.config,a),layer.path=e.config.path||layer.path,"string"==typeof a.extend&&(a.extend=[a.extend]),layer.use("skin/layer.css",a.extend&&a.extend.length>0?function f(){var c=a.extend;layer.use(c[c[d]?d:d-1],d'+(i?f.title[0]:f.title)+"":"";return f.zIndex=h,b([f.shade?'
':"",'
'+(a&&2!=f.type?"":k)+'
'+(0==f.type&&-1!==f.icon?'':"")+(1==f.type&&a?"":f.content||"")+'
'+function(){var a=j?'':"";return f.closeBtn&&(a+=''),a}()+""+(f.btn?function(){var a="";"string"==typeof f.btn&&(f.btn=[f.btn]);for(var b=0,c=f.btn.length;c>b;b++)a+=''+f.btn[b]+"";return'
'+a+"
"}():"")+"
"],k),c},f.pt.creat=function(){var a=this,b=a.config,f=a.index,h=b.content,i="object"==typeof h;switch("string"==typeof b.area&&(b.area="auto"===b.area?["",""]:[b.area,""]),b.type){case 0:b.btn="btn"in b?b.btn:e.btn[0],layer.close(c("div."+g[0]+"[type=dialog]").attr("times"));break;case 2:var h=b.content=i?b.content:[b.content||"http://sentsin.com?from=layer","auto"];b.content='';break;case 3:b.title=!1,b.closeBtn=!1,-1===b.icon&&0===b.icon,layer.closeAll("loading");break;case 4:i||(b.content=[b.content,"body"]),b.follow=b.content[1],b.content=b.content[0]+'',b.title=!1,b.shade=!1,b.fix=!1,b.tips="object"==typeof b.tips?b.tips:[b.tips,!0],b.tipsMore||layer.closeAll("tips")}a.vessel(i,function(d,e){c("body").append(d[0]),i?function(){2==b.type||4==b.type?function(){c("body").append(d[1])}():function(){h.parents("."+g[0])[0]||(h.show().addClass("layui-layer-wrap").wrap(d[1]),c("#"+g[0]+f).find("."+g[5]).before(e))}()}():c("body").append(d[1]),a.layero=c("#"+g[0]+f),b.scrollbar||g.html.css("overflow","hidden").attr("layer-full",f)}).auto(f),2==b.type&&layer.ie6&&a.layero.find("iframe").attr("src",h[0]),4==b.type?a.tips():a.offset(),b.fix&&d.on("resize",function(){a.offset(),(/^\d+%$/.test(b.area[0])||/^\d+%$/.test(b.area[1]))&&a.auto(f),4==b.type&&a.tips()}),b.time<=0||setTimeout(function(){layer.close(a.index)},b.time),a.move().callback()},f.pt.auto=function(a){function b(a){a=h.find(a),a.height(i[1]-j-k-2*(0|parseFloat(a.css("padding"))))}var e=this,f=e.config,h=c("#"+g[0]+a);""===f.area[0]&&f.maxWidth>0&&(/MSIE 7/.test(navigator.userAgent)&&f.btn&&h.width(h.innerWidth()),h.outerWidth()>f.maxWidth&&h.width(f.maxWidth));var i=[h.innerWidth(),h.innerHeight()],j=h.find(g[1]).outerHeight()||0,k=h.find("."+g[6]).outerHeight()||0;switch(f.type){case 2:b("iframe");break;default:""===f.area[1]?f.fix&&i[1]>d.height()&&(i[1]=d.height(),b("."+g[5])):b("."+g[5])}return e},f.pt.offset=function(){var a=this,b=a.config,c=a.layero,e=[c.outerWidth(),c.outerHeight()],f="object"==typeof b.offset;a.offsetTop=(d.height()-e[1])/2,a.offsetLeft=(d.width()-e[0])/2,f?(a.offsetTop=b.offset[0],a.offsetLeft=b.offset[1]):"auto"!==b.offset&&(a.offsetTop=b.offset,"rb"===b.offset&&(a.offsetTop=d.height()-e[1],a.offsetLeft=d.width()-e[0])),b.fix||(a.offsetTop+=d.scrollTop(),a.offsetLeft+=d.scrollLeft()),c.css({top:a.offsetTop,left:a.offsetLeft})},f.pt.tips=function(){var a=this,b=a.config,e=a.layero,f=[e.outerWidth(),e.outerHeight()],h=c(b.follow);h[0]||(h=c("body"));var i={width:h.outerWidth(),height:h.outerHeight(),top:h.offset().top,left:h.offset().left},j=e.find(".layui-layer-TipsG"),k=b.tips[0];b.tips[1]||j.remove(),i.autoLeft=function(){i.left+f[0]-d.width()>0?(i.tipLeft=i.left+i.width-f[0],j.css({right:12,left:"auto"})):i.tipLeft=i.left},i.where=[function(){i.autoLeft(),i.tipTop=i.top-f[1]-10,j.removeClass("layui-layer-TipsB").addClass("layui-layer-TipsT").css("border-right-color",b.tips[1])},function(){i.tipLeft=i.left+i.width+10,i.tipTop=i.top,j.removeClass("layui-layer-TipsL").addClass("layui-layer-TipsR").css("border-bottom-color",b.tips[1])},function(){i.autoLeft(),i.tipTop=i.top+i.height+10,j.removeClass("layui-layer-TipsT").addClass("layui-layer-TipsB").css("border-right-color",b.tips[1])},function(){i.tipLeft=i.left-f[0]-10,i.tipTop=i.top,j.removeClass("layui-layer-TipsR").addClass("layui-layer-TipsL").css("border-bottom-color",b.tips[1])}],i.where[k-1](),1===k?i.top-(d.scrollTop()+f[1]+16)<0&&i.where[2]():2===k?d.width()-(i.left+i.width+f[0]+16)>0||i.where[3]():3===k?i.top-d.scrollTop()+i.height+f[1]+16-d.height()>0&&i.where[0]():4===k&&f[0]+16-i.left>0&&i.where[1](),e.find("."+g[5]).css({"background-color":b.tips[1],"padding-right":b.closeBtn?"30px":""}),e.css({left:i.tipLeft,top:i.tipTop})},f.pt.move=function(){var a=this,b=a.config,e={setY:0,moveLayer:function(){var a=e.layero,b=parseInt(a.css("margin-left")),c=parseInt(e.move.css("left"));0===b||(c-=b),"fixed"!==a.css("position")&&(c-=a.parent().offset().left,e.setY=0),a.css({left:c,top:parseInt(e.move.css("top"))-e.setY})}},f=a.layero.find(b.move);return b.move&&f.attr("move","ok"),f.css({cursor:b.move?"move":"auto"}),c(b.move).on("mousedown",function(a){if(a.preventDefault(),"ok"===c(this).attr("move")){e.ismove=!0,e.layero=c(this).parents("."+g[0]);var f=e.layero.offset().left,h=e.layero.offset().top,i=e.layero.width()-6,j=e.layero.height()-6;c("#layui-layer-moves")[0]||c("body").append('
'),e.move=c("#layui-layer-moves"),b.moveType&&e.move.css({visibility:"hidden"}),e.moveX=a.pageX-e.move.position().left,e.moveY=a.pageY-e.move.position().top,"fixed"!==e.layero.css("position")||(e.setY=d.scrollTop())}}),c(document).mousemove(function(a){if(e.ismove){var c=a.pageX-e.moveX,f=a.pageY-e.moveY;if(a.preventDefault(),!b.moveOut){e.setY=d.scrollTop();var g=d.width()-e.move.outerWidth(),h=e.setY;0>c&&(c=0),c>g&&(c=g),h>f&&(f=h),f>d.height()-e.move.outerHeight()+e.setY&&(f=d.height()-e.move.outerHeight()+e.setY)}e.move.css({left:c,top:f}),b.moveType&&e.moveLayer(),c=f=g=h=null}}).mouseup(function(){try{e.ismove&&(e.moveLayer(),e.move.remove()),e.ismove=!1}catch(a){e.ismove=!1}b.moveEnd&&b.moveEnd()}),a},f.pt.callback=function(){var a=this,b=a.layero,d=a.config;a.openLayer(),d.success&&(2==d.type?b.find("iframe")[0].onload=function(){this.className="",d.success(b,a.index)}:d.success(b,a.index)),layer.ie6&&a.IE6(b),b.find("."+g[6]+"0").on("click",function(){d.yes?d.yes(a.index):layer.close(a.index)}),b.find("."+g[7]+",."+g[6]+"1").on("click",function(){d.cancel&&d.cancel(a.index),layer.close(a.index)}),d.shadeClose&&c("#layui-layer-shade"+a.index).on("click",function(){layer.close(a.index)}),b.find(".layui-layer-min").on("click",function(){layer.min(a.index,d),d.min&&d.min(b)}),b.find(".layui-layer-max").on("click",function(){c(this).hasClass("layui-layer-maxmin")?(layer.restore(a.index),d.restore&&d.restore(b)):(layer.full(a.index,d),d.full&&d.full(b))}),d.end&&(e.end[a.index]=d.end)},e.reselect=function(){c.each(c("select"),function(){var a=c(this);a.parents("."+g[0])[0]||1==a.attr("layer")&&c("."+g[0]).length<1&&a.removeAttr("layer").show(),a=null})},f.pt.IE6=function(a){function b(){a.css({top:f+(e.config.fix?d.scrollTop():0)})}var e=this,f=a.offset().top;b(),d.scroll(b),c("select").each(function(){var a=c(this);a.parents("."+g[0])[0]||"none"===a.css("display")||a.attr({layer:"1"}).hide(),a=null})},f.pt.openLayer=function(){var a=this;layer.zIndex=a.config.zIndex,layer.setTop=function(a){var b=function(){layer.zIndex++,a.css("z-index",layer.zIndex+1)};return layer.zIndex=parseInt(a[0].style.zIndex),a.on("mousedown",b),layer.zIndex}},e.record=function(a){var b=[a.outerWidth(),a.outerHeight(),a.position().top,a.position().left+parseFloat(a.css("margin-left"))];a.find(".layui-layer-max").addClass("layui-layer-maxmin"),a.attr({area:b})},e.rescollbar=function(a){g.html.attr("layer-full")==a&&(g.html[0].style.removeProperty?g.html[0].style.removeProperty("overflow"):g.html[0].style.removeAttribute("overflow"),g.html.removeAttr("layer-full"))},layer.getChildFrame=function(a,b){return b=b||c("."+g[4]).attr("times"),c("#"+g[0]+b).find("iframe").contents().find(a)},layer.getFrameIndex=function(a){return c("#"+a).parents("."+g[4]).attr("times")},layer.iframeAuto=function(a){if(a){var b=layer.getChildFrame("body",a).outerHeight(),d=c("#"+g[0]+a),e=d.find(g[1]).outerHeight()||0,f=d.find("."+g[6]).outerHeight()||0;d.css({height:b+e+f}),d.find("iframe").css({height:b})}},layer.iframeSrc=function(a,b){c("#"+g[0]+a).find("iframe").attr("src",b)},layer.style=function(a,b){var d=c("#"+g[0]+a),f=d.attr("type"),h=d.find(g[1]).outerHeight()||0,i=d.find("."+g[6]).outerHeight()||0;(f===e.type[1]||f===e.type[2])&&(d.css(b),f===e.type[2]&&d.find("iframe").css({height:parseFloat(b.height)-h-i}))},layer.min=function(a){var b=c("#"+g[0]+a),d=b.find(g[1]).outerHeight()||0;e.record(b),layer.style(a,{width:180,height:d}),b.find(".layui-layer-min").hide(),"page"===b.attr("type")&&b.find(g[4]).hide(),e.rescollbar(a)},layer.restore=function(a){{var b=c("#"+g[0]+a),d=b.attr("area").split(",");b.attr("type")}layer.style(a,{width:parseFloat(d[0]),height:parseFloat(d[1]),top:parseFloat(d[2]),left:parseFloat(d[3])}),b.find(".layui-layer-max").removeClass("layui-layer-maxmin"),b.find(".layui-layer-min").show(),"page"===b.attr("type")&&b.find(g[4]).show(),e.rescollbar(a)},layer.full=function(a){var b,f=c("#"+g[0]+a);e.record(f),g.html.attr("layer-full")||g.html.css("overflow","hidden").attr("layer-full",a),clearTimeout(b),b=setTimeout(function(){var b="fixed"===f.css("position");layer.style(a,{top:b?0:d.scrollTop(),left:b?0:d.scrollLeft(),width:d.width(),height:d.height()}),f.find(".layui-layer-min").hide()},100)},layer.title=function(a,b){var d=c("#"+g[0]+(b||layer.index)).find(g[1]);d.html(a)},layer.close=function(a){var b=c("#"+g[0]+a),d=b.attr("type");if(b){if(d==e.type[1]&&"object"===b.attr("conType")){b.children(":not(."+g[5]+")").remove();for(var f=0;2>f;f++)b.find(".layui-layer-wrap").unwrap().hide()}else b.innerHTML="",b.remove();c("#layui-layer-moves, #layui-layer-shade"+a).remove(),layer.ie6&&e.reselect(),e.rescollbar(a),"function"==typeof e.end[a]&&e.end[a](),delete e.end[a]}},layer.closeAll=function(a){c.each(c("."+g[0]),function(){var b=c(this),d=a?b.attr("type")===a:1;d&&layer.close(b.attr("times")),d=null})},e.run=function(){c=jQuery,d=c(a),g.html=c("html"),layer.open=function(a){var b=new f(a);return b.index}},"function"==typeof define?define(function(){return e.run(),layer}):function(){e.run(),layer.use("skin/layer.css")}()}(window); \ No newline at end of file diff --git a/src/layer.js b/src/layer.js index 351f58c..f942f23 100644 --- a/src/layer.js +++ b/src/layer.js @@ -750,7 +750,7 @@ ready.run = function(){ return layer; }) : function(){ ready.run(); - layer.use('/skin/layer.css'); + layer.use('skin/layer.css'); }(); }(window); \ No newline at end of file From b56c3e4baccc6063c7b4e2f8bdd482ba2e84a746 Mon Sep 17 00:00:00 2001 From: sentsin Date: Sat, 23 May 2015 00:44:33 +0800 Subject: [PATCH 15/17] upgrade --- .gitignore | 7 +- CHANGELOG.md | 34 +++- GruntFile.js | 58 +++++++ extend/layer.ext.js | 4 +- layer.js | 4 +- mobile/README.md | 4 +- mobile/layer.m.js | 2 +- package.json | 23 +++ skin/default/icon-ext.png | Bin 0 -> 5911 bytes skin/default/icon.png | Bin 0 -> 12527 bytes skin/default/icon_ext.png | Bin 7677 -> 0 bytes .../{xubox_loading0.gif => loading-0.gif} | Bin .../{xubox_loading1.gif => loading-1.gif} | Bin .../{xubox_loading2.gif => loading-2.gif} | Bin skin/default/textbg.png | Bin 210 -> 0 bytes skin/default/xubox_ico0.png | Bin 32954 -> 0 bytes skin/layer.css | 2 +- skin/layer.ext.css | 2 +- src/extend/layer.ext.js | 26 +-- src/layer.js | 90 ++++++---- src/skin/default/icon-ext.png | Bin 0 -> 5911 bytes src/skin/default/icon.png | Bin 0 -> 12527 bytes src/skin/default/icon_ext.png | Bin 7677 -> 0 bytes .../{xubox_loading0.gif => loading-0.gif} | Bin .../{xubox_loading1.gif => loading-1.gif} | Bin .../{xubox_loading2.gif => loading-2.gif} | Bin src/skin/default/textbg.png | Bin 210 -> 0 bytes src/skin/default/xubox_ico0.png | Bin 32954 -> 0 bytes src/skin/layer.css | 157 ++++++++++++------ src/skin/layer.ext.css | 6 +- 30 files changed, 305 insertions(+), 114 deletions(-) create mode 100644 GruntFile.js create mode 100644 package.json create mode 100644 skin/default/icon-ext.png create mode 100644 skin/default/icon.png delete mode 100644 skin/default/icon_ext.png rename skin/default/{xubox_loading0.gif => loading-0.gif} (100%) rename skin/default/{xubox_loading1.gif => loading-1.gif} (100%) rename skin/default/{xubox_loading2.gif => loading-2.gif} (100%) delete mode 100644 skin/default/textbg.png delete mode 100644 skin/default/xubox_ico0.png create mode 100644 src/skin/default/icon-ext.png create mode 100644 src/skin/default/icon.png delete mode 100644 src/skin/default/icon_ext.png rename src/skin/default/{xubox_loading0.gif => loading-0.gif} (100%) rename src/skin/default/{xubox_loading1.gif => loading-1.gif} (100%) rename src/skin/default/{xubox_loading2.gif => loading-2.gif} (100%) delete mode 100644 src/skin/default/textbg.png delete mode 100644 src/skin/default/xubox_ico0.png diff --git a/.gitignore b/.gitignore index 902e7fc..bf50228 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +1.8.5/ *.iml .idea/ .ipr @@ -15,4 +16,8 @@ Thumbs.db .project .settings/ node_modules/ -_site/ \ No newline at end of file +_site/ +.gitignore +skin/moon/ +src/skin/moon/ +git/ \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index e7aa099..250454b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,33 @@ -<<<<<<< HEAD  -【1.9.0】 +【1.9.3】2015.05.23 +> 修复全局设置皮肤时,部分类型层未起作用的bug。 +> 增加skin值:layui-layer-rim,用于给层加边框(类似1.85的风格) +> 样式微调 + +== 拓展模块 == +> 修复相册层设定基础参数时,只有首次有效的bug。 + + +【1.9.2】2015.05.08 +> 增加关闭动画样式:layui-layer-close +> 优化默认弹出动画 +> 优化默认图标,默认的icon支持缩减到0-6(拓展皮肤可自己任意设定支持的数目) +> 优化部分样式 +> 机智地修复了一个隐藏得非常深的但是不是太重要的bug。 +> 剔除了一些图片。 + +【1.9.1】2015.04.29 +> btn设定多个按钮时,新增对应的回调(支持只有yes和cancel回调),如btn: ['按钮一','按钮二','按钮三'],按钮一和按钮二还是之前的yes和cancel,按钮三,则回调为 btn3: function(){},以此类推。 +> 对cancel回调进行了微完善,如果不想关闭,return false即可,如cancel: function(){return false},取消则不会关闭。 +> 修复当设置了fix:false时,offset的设置无效的bug +> 为低版本IE回收iframe占用的内存,从而修复偶尔无法获焦的bug +> 修复当设置了btn时,最小化不能愉快地呈现的bug。 +> 修复全局设置skin时,某些层类型出现样式异常的bug。 +> 修复area设置了百分比时,maxmin参数无效的bug。 +> 完善当采用