From fba5101df85dafc0ec205e845d6dfbb4781a41de Mon Sep 17 00:00:00 2001 From: sentsin Date: Mon, 7 Jul 2014 10:57:45 +0800 Subject: [PATCH] 1.8.4 --- README.md | 16 +++ doc/changelog.txt | 57 -------- extend/layer.ext.js | 27 ++-- layer.js | 340 ++++++++++++++++++++++++++------------------ layer.min.js | 11 +- skin/layer.css | 2 +- skin/layer.ext.css | 8 +- 7 files changed, 241 insertions(+), 220 deletions(-) delete mode 100644 doc/changelog.txt diff --git a/README.md b/README.md index a0bab7d..17edfda 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,22 @@ layer遵循于LGPL开源协议,她是一枚可以让你想到即可做到的 事实上我们无法获取到更多案例,所以如果您有大型项目也在使用layer,您可以联系作者,以便在layer官网展现,也为您的品牌推广尽一些绵薄之力。 +## 日志 +【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)、[商业支持](http://url.cn/RAejZY) \ No newline at end of file diff --git a/doc/changelog.txt b/doc/changelog.txt deleted file mode 100644 index 908adc1..0000000 --- a/doc/changelog.txt +++ /dev/null @@ -1,57 +0,0 @@ -【1.8.3更新日志】2014-6-4 -1、新增遮罩层fadeIn淡入。 -2、修复设置border:[0]时,最大/小化的小bug -3、修复layer.area潜在的一个非常小的bug -4、优化代码结构 - -【1.8.2更新日志】2014-5-27 -1、优化核心代码 -2、修复了两个潜在的小小小bug - -【1.8.1更新日志】2014-5-16 -1、紧急修复ie7下无法显示关闭按钮的bug -2、紧急修复ie6最小化按钮高度稍微溢出的bug -3、去掉layer.css的reset,以避免可能存在的样式冲突 - -【1.8.0更新日志】2014-5-15 - -01、新增窗口最小化/全屏/还原功能,通过配置参数 maxmin:true,不开启不用配置。本功能只针对普通页面层(type:1)和iframe层(type:2)有效。另外还需注意一点,参数area一旦配置%,将不会输出此项图标。 -02、新增窗口最小化回调函数min: function(index){} -03、新增窗口全屏回调函数full: function(index){} -04、新增窗口还原回调函数restore: function(index){} -05、新增方法layer.min(index, options)/layer.full(index, options)/layer.restore(index),分别用于外部设置新增窗口最小化/全屏/还原 -06、iframe层新增一个scrolling参数,用于控制是否显示滚动条。默认自动,如果想不显示,配置 iframe: {scrolling: 'no'} 即可 -07、layer.shift方法增加一个stop参数,用于设置是否动画到最顶部。如layer.shift('bottom', 500, 1)则表示从最顶部动画到指定坐标。 - -08、优化IE6-8下拖动iframe层一卡一卡的问题 -09、优化在IE低版本下的内存占用问题。 -10、优化内部代码。 - -11、修复layer.load('文字',time)第二个参数不能倒计时关闭的小bug -12、修复ie个别版本的低级浏览器,第二次弹出iframe层时,无法获取焦点的bug -13、修改弹出动画到offset设定好的位置,不再只是在边缘。 -14、修复layer.autoArea(index)的重大bug -15、修复当fix设为false时,layer.shift动画弹出的bug。 -16、修复layer.use无法正确执行回调的bug - -17、layer.shift不再对ie6提供支持。 -18、为了规范统一性,关闭loading加载层的方法:layer.loadClose()改成layer.closeLoad() -19、对layer所需要的icon做了预先加载 -20、layer.use支持加载外部的css/js - -【拓展模块】 -提示:相册支持左右方向键切换,以及ESC键关闭。 -21、新增layer.photos(options),以实现图片的相册模式浏览。支持获取页面指定区域所有图片、支持异步请求过来的json数据 -22、新增layer.photosPage(options),用于相册模式查看页面指定区域的所有图片。 -23、新增layer.ext = function(){}回调方法,用于首次加载layer.ext.js时立即执行拓展层。 -24、layer.prompt方法新增title和length参数,title用于自定义标题,length用于文本框的字数。如:layer.prompt({title:'helllo prompt', title: 300}); -25、layer.tab方法新增offset参数,用于控制坐标 - - - -【小提示:如果亲们觉得layer对你有所帮助,可以去layer官网适当点击下广告支持一下。】 -官网: http://sentsin.com/jquery/layer/ -日志:http://say.sentsin.com/say-706.html - - - diff --git a/extend/layer.ext.js b/extend/layer.ext.js index 3c6223e..71498d3 100644 --- a/extend/layer.ext.js +++ b/extend/layer.ext.js @@ -1,9 +1,9 @@ /** @Name: layer拓展类,依赖于layer - @Date: 2014.05.16 + @Date: 2014.07.04 @Author: 贤心 - @Versions:1.3 + @Versions:1.8.4-ext @Api:http://sentsin.com/jquery/layer @Desc: 本拓展会持续更新 @@ -13,13 +13,10 @@ layer.use('skin/layer.ext.css', function(){ layer.ext && layer.ext(); }); -layer.extv = '1.3'; - /** 系统prompt - 2014.5.11 By 贤心 **/ @@ -27,7 +24,7 @@ layer.extv = '1.3'; layer.prompt = function(parme, yes, no){ var log = {}, parme = parme || {}, conf = { area: ['auto', 'auto'], - offset: [parme.top || '200px', ''], + offset: [parme.top || '', ''], title: parme.title || '信息', dialog: { btns: 2, @@ -40,7 +37,7 @@ layer.prompt = function(parme, yes, no){ } else { return 'text'; } - }() +'" class="xubox_prompt xubox_form" id="xubox_prompt" value="" />', + }() +'" class="xubox_prompt xubox_form" id="xubox_prompt" value="'+ (parme.val || '') +'" />', yes: function(index){ var val = log.prompt.val(); if(val === ''){ @@ -48,8 +45,7 @@ layer.prompt = function(parme, yes, no){ } else if(val.replace(/\s/g, '').length > (parme.length || 1000)) { layer.tips('最多输入'+ (parme.length || 1000) +'个字数', '#xubox_prompt', 2); } else { - layer.close(index); - yes && yes(val); + yes && yes(val, index, log.prompt); } }, no: no @@ -66,8 +62,7 @@ layer.prompt = function(parme, yes, no){ /** - tab层 v1.0.0 - 2014.5.11 + tab层 By 贤心 **/ @@ -77,6 +72,7 @@ layer.tab = function(parme){ type: 1, border: [0], area: ['auto', 'auto'], + bgcolor: '', title: false, shade : parme.shade, offset: parme.offset, @@ -131,8 +127,7 @@ layer.tab = function(parme){ /** - 相册层 v1.0.0 - 2014.5.11 + 相册层 By 贤心 **/ @@ -171,7 +166,7 @@ layer.photos = function(options){ log.pid = nowimg.attr('pid'); log.imgLen = imgs.length; log.imgsname = (page.title || ''); - log.name = nowimg.attr('layer-pname'); + log.name = nowimg.attr('alt'); log.imgIndex = page.start + 1; } @@ -215,7 +210,6 @@ layer.photos = function(options){ img.load(function(){ log.imgarea = [img.outerWidth(), img.outerHeight()]; log.resize(layero); - options.success && options.success(json || page); }); log.event(); @@ -288,7 +282,7 @@ layer.photos = function(options){ var thisimg = imgs.eq(log.imgIndex - 1); src = thisimg.attr('layer-img') || thisimg.attr('src'); pid = thisimg.attr('layer-pid') || ''; - name = thisimg.attr('layer-pname') || ''; + name = thisimg.attr('alt') || ''; } log.imgs.attr({ src: src, @@ -297,6 +291,7 @@ layer.photos = function(options){ }); log.imgtit.find('em').text(log.imgIndex + '/' + log.imgLen); log.imgsee.show(); + options.tab && options.tab({pid: pid, name: name}); } }; diff --git a/layer.js b/layer.js index a168576..710a3f5 100644 --- a/layer.js +++ b/layer.js @@ -1,8 +1,8 @@ /************************************************************** - @Name:layer v1.8.3 弹层组件开发版 + @Name:layer v1.8.4 弹层组件开发版 @Author:贤心 - @Date:2014-06-04 + @Date:2014-07-07 @Blog:http://sentsin.com @QQ群:78803422 (layer组件群3) @Copyright:Sentsin Xu(贤心) @@ -14,18 +14,13 @@ ;!function(window, undefined){ "use strict"; -var pathType = true, //是否采用自动获取绝对路径。false:将采用下述变量中的配置 -pathUrl = '/lily/lib/layer/', //上述变量为false才有效,当前layerjs所在目录(不用填写host,相对站点的根目录即可)。 +var path = '', //组件存放目录,为空表示自动获取(不用填写host,相对站点的根目录即可)。 $, win, ready = { host: 'http://' + location.host, getPath: function(){ var js = document.scripts, jsPath = js[js.length - 1].src; - if(pathType){ - return jsPath.substring(0, jsPath.lastIndexOf("/") + 1); - } else { - return this.host + pathUrl; - } + return path ? ready.host + path : jsPath.substring(0, jsPath.lastIndexOf("/") + 1); }, //五种原始层模式 @@ -34,7 +29,7 @@ $, win, ready = { //默认内置方法。 window.layer = { - v: '1.8.3', //版本号 + v: '1.8.4', ie6: !-[1,] && !window.XMLHttpRequest, index: 0, path: ready.getPath(), @@ -64,10 +59,6 @@ window.layer = { } }, - ready: function(callback){ - layer.use('skin/layer.css', callback); - }, - alert: function(msg, icon, fn, yes){ var isfn = (typeof fn === 'function'), conf = { dialog: {msg: msg, type: icon, yes: isfn ? fn : yes}, @@ -95,8 +86,8 @@ window.layer = { }; if(typeof parme === 'object'){ conf.dialog.type = parme.type; - conf.shade = parme.shade; - conf.success = function(){layer.shift(parme.rate)}; + conf.shade = parme.shade; + conf.shift = parme.rate; } else if(typeof parme === 'function') { conf.end = parme } else { @@ -115,7 +106,7 @@ window.layer = { loading: {type : icon}, bgcolor: icon ? '#fff' : '', shade: icon ? [0.1, '#000'] : [0], - border: (icon === 3 || !icon) ? false : [6, 0.3, '#000'], + border: (icon === 3 || !icon) ? [0] : [6, 0.3, '#000'], type : 3, title : ['',false], closeBtn : [0 , false] @@ -125,23 +116,28 @@ window.layer = { //tips层快捷引用 tips: function(html, follow, parme, maxWidth, guide, style){ - var conf = {type: 4, shade: false, success: function(layerE){ - if(!this.closeBtn){ - layerE.find('.xubox_tips').css({'padding-right': 10}); - } - }, bgcolor:'', tips:{msg: html, follow: follow}}; + 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.time = parme.time || 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 = {lay: 'xubox_layer', ifr: 'xubox_iframe', title: '.xubox_title', text: '.xubox_text', page: '.xubox_page'}; +var doms = ['xubox_layer', 'xubox_iframe', '.xubox_title', '.xubox_text', '.xubox_page', '.xubox_main']; var Class = function(setings){ var that = this, config = that.config; @@ -159,15 +155,13 @@ var Class = function(setings){ Class.pt = Class.prototype; //默认配置 -Class.pt.config = layer.config || { +Class.pt.config = { type: 0, shade: [0.3, '#000'], - shadeClose: false, fix: true, move: '.xubox_title', - moveOut: false, title: ['信息', true], - offset: ['200px', '50%'], + offset: ['', '50%'], area: ['310px', 'auto'], closeBtn: [0, true], time: 0, @@ -175,8 +169,7 @@ Class.pt.config = layer.config || { 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);} - }, + 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}, @@ -193,13 +186,12 @@ Class.pt.space = function(html){ 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; @@ -213,8 +205,8 @@ Class.pt.space = function(html){ config.title[1] && (title = '
' + config.title[0] + '
'); return [shade, - '
' + '
' + '
' + frame[config.type] + title @@ -240,7 +232,7 @@ Class.pt.creat = function(){ switch(config.type){ case 0: config.title[1] || (config.area = ['auto','auto']); - $('.xubox_dialog')[0] && layer.close($('.xubox_dialog').parents('.'+ doms.lay).attr('times')); + $('.xubox_dialog')[0] && layer.close($('.xubox_dialog').parents('.'+ doms[0]).attr('times')); break; case 1: @@ -255,7 +247,7 @@ Class.pt.creat = function(){ page.ok && page.ok(datas); }); } else { - if($(page.dom).parents(doms.page).length == 0){ + if($(page.dom).parents(doms[4]).length == 0){ setSpace(); $(page.dom).show().wrap($(space[1])); } else { @@ -268,7 +260,7 @@ Class.pt.creat = function(){ config.title = []; config.area = ['auto', 'auto']; config.closeBtn = ['', false]; - $('.xubox_loading')[0] && layer.close($('.xubox_loading').parents('.'+ doms.lay).attr('times')); + $('.xubox_loading')[0] && layer.closeLoad(); break; case 4: @@ -276,7 +268,7 @@ Class.pt.creat = function(){ config.area = ['auto', 'auto']; config.fix = false; config.border = [0]; - $('.xubox_tips')[0] && layer.close($('.xubox_tips').parents('.'+ doms.lay).attr('times')); + config.tips.more || layer.closeTips(); break; }; if(config.type !== 1){ @@ -284,26 +276,9 @@ Class.pt.creat = function(){ body.append($(space[1])); } - var layerE = that.layerE = $('#'+ doms.lay + times); - - //设置layer面积坐标等数据 - if(config.offset[0].indexOf("px") != -1){ - that.offsetTop = parseFloat(config.offset[0]); - } else { - that.offsetTop = parseFloat(config.offset[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]; - } - }; - layerE.css({left: that.offsetLeft, top: that.offsetTop, width: config.area[0], height: config.area[1]}); + var layerE = that.layerE = $('#'+ doms[0] + times); + + layerE.css({width: config.area[0], height: config.area[1]}); config.fix || layerE.css({position: 'absolute'}); //配置按钮 @@ -340,40 +315,84 @@ 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, layerE = that.layerE, layerTitle = layerE.find(doms.title); - var config = that.config, dialog = config.dialog, page = config.page, loading = config.loading; + 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[1]){ if(config.type === 0){ layer.ie6 && layerTitle.css({width : layerE.outerWidth()}); } }else{ - config.type != 4 && layerE.find('.xubox_close').addClass('xubox_close1'); + 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('.xubox_main').css({'background-color': '#fff'}); + layerE.find(doms[5]).css({'background-color': '#fff'}); if(config.title[1]){ - layerE.find(doms.text).css({paddingTop: 18 + layerTitle.outerHeight()}); + layerE.find(doms[3]).css({paddingTop: 18 + layerTitle.outerHeight()}); }else{ layerE.find('.xubox_msgico').css({top: 8}); - layerE.find(doms.text).css({marginTop : 11}); + 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[1] && layerE.find(doms.page).css({top: layerTitle.outerHeight()}); + config.title[1] && layerE.find(doms[4]).css({top: layerTitle.outerHeight()}); break; case 2: - var iframe = layerE.find('.'+ doms.ifr), heg = layerE.height(); + var iframe = layerE.find('.'+ doms[1]), heg = layerE.height(); iframe.addClass('xubox_load').css({width: layerE.width()}); config.title[1] ? iframe.css({top: layerTitle.height(), height: heg - layerTitle.height()}) : iframe.css({top: 0, height : heg}); layer.ie6 && iframe.attr('src', config.iframe.src); @@ -393,17 +412,26 @@ Class.pt.set = function(times){ 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.tipLeft = fowo.left; + fowo.where = [function(){ //上 + fowo.autoLeft(); fowo.tipTop = fowo.top - layArea[1] - 10; - tipsG.removeClass('layerTipsB').addClass('layerTipsT').css({'border-right-color': fowo.tipColor}); + 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.tipLeft = fowo.left; + fowo.autoLeft(); fowo.tipTop = fowo.top + fowo.height + 10; tipsG.removeClass('layerTipsT').addClass('layerTipsB').css({'border-right-color': fowo.tipColor}); }, function(){ //左 @@ -416,12 +444,14 @@ Class.pt.set = function(times){ /* 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){ + } 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){ + } 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){ + } 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; @@ -431,13 +461,67 @@ Class.pt.set = function(times){ 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.lay + times), layerTitle = layerE.find(doms.title), layerMian = layerE.find('.xubox_main'); + var layerE = $('#'+ doms[0] + times), layerTitle = layerE.find(doms[2]), layerMian = layerE.find(doms[5]); var titHeight = config.title[1] ? layerTitle.innerHeight() : 0, outHeight, btnHeight = 0; if(config.area[0] === 'auto' && layerMian.outerWidth() >= config.maxWidth){ layerE.css({width : config.maxWidth}); @@ -445,13 +529,13 @@ Class.pt.autoArea = function(times){ switch(config.type){ case 0: var aBtn = layerE.find('.xubox_botton>a'); - outHeight = layerE.find(doms.text).outerHeight() + 20; + outHeight = layerE.find(doms[3]).outerHeight() + 20; if(aBtn.length > 0){ btnHeight = aBtn.outerHeight() + 20; } break; case 1: - var layerPage = layerE.find(doms.page); + var layerPage = layerE.find(doms[4]); outHeight = $(page.dom).outerHeight(); config.area[0] === 'auto' && layerE.css({width : layerPage.outerWidth()}); if(page.html !== '' || page.url !== ''){ @@ -498,7 +582,7 @@ Class.pt.move = function(){ M.preventDefault(); if($(this).attr('move') === 'ok'){ conf.ismove = true; - conf.layerE = $(this).parents('.'+ doms.lay); + 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('
'); @@ -512,7 +596,7 @@ Class.pt.move = function(){ } }); - $(document).mousemove(function(M){ + $(document).mousemove(function(M){ if(conf.ismove){ var offsetX = M.pageX - conf.moveX, offsetY = M.pageY - conf.moveY; M.preventDefault(); @@ -562,7 +646,7 @@ Class.pt.autoclose = function(){ }; ready.config = { - end : {} + end: {} }; Class.pt.callback = function(){ @@ -615,8 +699,8 @@ Class.pt.callback = function(){ ready.reselect = function(){ $.each($('select'), function(index , value){ var sthis = $(this); - if(!sthis.parents('.'+doms.lay)[0]){ - (sthis.attr('layer') == 1 && $('.'+doms.lay).length < 1) && sthis.removeAttr('layer').show(); + if(!sthis.parents('.'+doms[0])[0]){ + (sthis.attr('layer') == 1 && $('.'+doms[0]).length < 1) && sthis.removeAttr('layer').show(); } sthis = null; }); @@ -641,7 +725,7 @@ Class.pt.IE6 = function(layerE){ //隐藏select $.each($('select'), function(index , value){ var sthis = $(this); - if(!sthis.parents('.'+doms.lay)[0]){ + if(!sthis.parents('.'+doms[0])[0]){ sthis.css('display') == 'none' || sthis.attr({'layer' : '1'}).hide(); } sthis = null; @@ -650,43 +734,16 @@ Class.pt.IE6 = function(layerE){ //给layer对象拓展方法 Class.pt.openLayer = function(){ - var that = this; + var that = this, layerE = that.layerE; //自适应宽高 layer.autoArea = function(index){ return that.autoArea(index); }; - //出场内置动画 + //兼容旧版出场动画 layer.shift = function(type, rate, stop){ - if(layer.ie6){ - return; - } - var config = that.config, layerE = that.layerE, cutWth = 0, ww = win.width(), wh = win.height() + (config.fix ? 0 : win.scrollTop()); - (config.offset[1] == '50%' || config.offset[1] == '') ? cutWth = layerE.outerWidth()/2 : 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; - } + that.shift(type, rate, stop); }; //初始化拖拽元素 @@ -705,6 +762,7 @@ Class.pt.openLayer = function(){ layerNow.on('mousedown', setZindex); return layer.zIndex; }; + }; ready.isauto = function(layero, options, offset){ @@ -733,42 +791,42 @@ ready.rescollbar = function(index){ //获取page层所在索引 layer.getIndex = function(selector){ - return $(selector).parents('.'+doms.lay).attr('times'); + return $(selector).parents('.'+doms[0]).attr('times'); }; //获取子iframe的DOM layer.getChildFrame = function(selector, index){ - index = index || $('.'+ doms.ifr).parents('.'+doms.lay).attr('times'); - return $('#'+ doms.lay + index).find('.'+ doms.ifr).contents().find(selector); + 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.ifr).parents('.'+doms.lay).attr('times'); + return $(name ? '#'+ name : '.'+ doms[1]).parents('.'+doms[0]).attr('times'); }; //iframe层自适应宽高 layer.iframeAuto = function(index){ - index = index || $('.'+ doms.ifr).parents('.'+doms.lay).attr('times'); + index = index || $('.'+ doms[1]).parents('.'+doms[0]).attr('times'); var heg = layer.getChildFrame('body', index).outerHeight(), - layero = $('#'+ doms.lay + index), tit = layero.find(doms.title), titHt = 0; + 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.ifr + index).css({height: heg}); + $('#'+ doms[1] + index).css({height: heg}); }; //重置iframe url layer.iframeSrc = function(index, url){ - $('#'+ doms.lay + index).find('iframe').attr('src', url); + $('#'+ doms[0] + index).find('iframe').attr('src', url); }; //重置层 layer.area = function(index, options){ - var layero = [$('#'+ doms.lay + index), $('#xubox_border'+ index)], - type = layero[0].attr('type'), main = layero[0].find('.xubox_main'), - title = layero[0].find(doms.title); + 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); @@ -793,17 +851,17 @@ layer.area = function(index, options){ //最小化 layer.min = function(index, options){ - var layero = $('#'+ doms.lay + index), offset = [layero.position().top, layero.position().left + parseFloat(layero.css('margin-left'))]; + 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.page).hide(); + layero.attr('type') === 'page' && layero.find(doms[4]).hide(); ready.rescollbar(index); }; //还原 layer.restore = function(index){ - var layero = $('#'+ doms.lay + index), area = layero.attr('area').split(','); + var layero = $('#'+ doms[0] + index), area = layero.attr('area').split(','); var type = layero.attr('type'); layer.area(index, { width: parseFloat(area[0]), @@ -813,13 +871,13 @@ layer.restore = function(index){ }); layero.find('.xubox_max').removeClass('xubox_maxmin'); layero.find('.xubox_min').show(); - layero.attr('type') === 'page' && layero.find(doms.page).show(); + layero.attr('type') === 'page' && layero.find(doms[4]).show(); ready.rescollbar(index); }; //全屏 layer.full = function(index, options){ - var layero = $('#'+ doms.lay + index), borders = options.border[0]*2, timer; + 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')){ @@ -836,9 +894,15 @@ layer.full = function(index, options){ }, 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.lay + index), type = layero.attr('type'), shadeNow = $('#xubox_moves, #xubox_shade' + index); + var layero = $('#'+ doms[0] + index), type = layero.attr('type'), shadeNow = $('#xubox_moves, #xubox_shade' + index); if(!layero[0]){ return; } @@ -865,22 +929,26 @@ layer.close = function(index){ //关闭loading层 layer.closeLoad = function(){ - layer.close($('.xubox_loading').parents('.'+doms.lay).attr('times')); + layer.close($('.xubox_loading').parents('.'+doms[0]).attr('times')); }; //关闭tips层 layer.closeTips = function(){ - layer.close($('.xubox_tips').parents('.'+doms.lay).attr('times')); + layer.closeAll('tips'); }; //关闭所有层 -layer.closeAll = function(){ - $.each($('.'+doms.lay), function(){ - layer.close($(this).attr('times')); +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; diff --git a/layer.min.js b/layer.min.js index f0d4158..cf5bbd0 100644 --- a/layer.min.js +++ b/layer.min.js @@ -1,8 +1,8 @@ /************************************************************** - @Name:layer v1.8.3 弹层组件压缩版 + @Name:layer v1.8.4 弹层组件压缩版 @Author:贤心 - @Date:2014-06-04 + @Date:2014-07-07 @Blog:http://sentsin.com @QQ群:78803422 (layer组件群3) @Copyright:Sentsin Xu(贤心) @@ -13,7 +13,6 @@ ;!function(a,b){ "use strict"; -var e,f,h,i,j, -c=!0, //是否采用自动获取绝对路径。!1:将采用下述变量中的配置 -d="/lily/lib/layer/", //上述变量为!1才有效,当前layerjs所在目录(不用填写host,相对站点的根目录即可)。 -g={host:"http://"+location.host,getPath:function(){var a=document.scripts,b=a[a.length-1].src;return c?b.substring(0,b.lastIndexOf("/")+1):this.host+d},type:["dialog","page","iframe","loading","tips"]};a.layer={v:"1.8.3",ie6:!-[1,]&&!a.XMLHttpRequest,index:0,path:g.getPath(),use:function(a,b){var f,g,h,d=e("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,e("#"+h)[0]||d.appendChild(g),b&&(document.all?e(g).ready(b):e(g).load(b))},ready:function(a){layer.use("skin/layer.css",a)},alert:function(a,b,c,d){var f="function"==typeof c,g={dialog:{msg:a,type:b,yes:f?c:d},area:["auto","auto"]};return f||(g.title=c),e.layer(g)},confirm:function(a,b,c,d){var f="function"==typeof c,g={dialog:{msg:a,type:4,btns:2,yes:b,no:f?c:d}};return f||(g.title=c),e.layer(g)},msg:function(a,c,d,f){var g={title:!1,closeBtn:!1,time:c===b?2:c,dialog:{msg:""===a||a===b?" ":a},end:f};return"object"==typeof d?(g.dialog.type=d.type,g.shade=d.shade,g.success=function(){layer.shift(d.rate)}):"function"==typeof d?g.end=d:g.dialog.type=d,e.layer(g)},load:function(a,b){return"string"==typeof a?layer.msg(a,b||0,16):e.layer({time:a,loading:{type:b},bgcolor:b?"#fff":"",shade:b?[.1,"#000"]:[0],border:3!==b&&b?[6,.3,"#000"]:!1,type:3,title:["",!1],closeBtn:[0,!1]})},tips:function(a,b,c,d,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 c=c||{},h.time=c.time||c,h.closeBtn=c.closeBtn||!1,h.maxWidth=c.maxWidth||d,h.tips.guide=c.guide||f,h.tips.style=c.style||g,e.layer(h)}},h={lay:"xubox_layer",ifr:"xubox_iframe",title:".xubox_title",text:".xubox_text",page:".xubox_page"},i=function(a){var b=this,c=b.config;layer.index++,b.index=layer.index,b.config=e.extend({},c,a),b.config.dialog=e.extend({},c.dialog,a.dialog),b.config.page=e.extend({},c.page,a.page),b.config.iframe=e.extend({},c.iframe,a.iframe),b.config.loading=e.extend({},c.loading,a.loading),b.config.tips=e.extend({},c.tips,a.tips),b.creat()},i.pt=i.prototype,i.pt.config=layer.config||{type:0,shade:[.3,"#000"],shadeClose:!1,fix:!0,move:".xubox_title",moveOut:!1,title:["信息",!0],offset:["200px","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(){}},i.pt.space=function(a){var c,d,e,f,g,i,j,k,l,m,n,o,b=this;return a=a||"",c=b.index,d=b.config,e=d.dialog,f=-1===e.type?"":'',g=['
'+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+=''),d.title[1]&&(m='
'+d.title[0]+"
"),[i,'
'+'
'+g[d.type]+m+''+n+""+''+"
"+j+"
"]},i.pt.creat=function(){var l,m,n,a=this,b="",c=a.config,d=c.dialog,g=a.index,i=c.page,j=e("body"),k=function(c){var c=c||"";b=a.space(c),j.append(e(b[0]))};switch(c.title===!1?c.title=[]:"string"==typeof c.title&&(c.title=[c.title,!0]),c.type){case 0:c.title[1]||(c.area=["auto","auto"]),e(".xubox_dialog")[0]&&layer.close(e(".xubox_dialog").parents("."+h.lay).attr("times"));break;case 1:if(""!==i.html)k('
'+i.html+"
"),j.append(e(b[1]));else if(""!==i.url)k('
'+i.html+"
"),j.append(e(b[1])),e.get(i.url,function(a){e("#xuboxPageHtml"+g).html(a.toString()),i.ok&&i.ok(a)});else{if(0!=e(i.dom).parents(h.page).length)return;k(),e(i.dom).show().wrap(e(b[1]))}break;case 3:c.title=[],c.area=["auto","auto"],c.closeBtn=["",!1],e(".xubox_loading")[0]&&layer.close(e(".xubox_loading").parents("."+h.lay).attr("times"));break;case 4:c.title=[],c.area=["auto","auto"],c.fix=!1,c.border=[0],e(".xubox_tips")[0]&&layer.close(e(".xubox_tips").parents("."+h.lay).attr("times"))}if(1!==c.type&&(k(),j.append(e(b[1]))),l=a.layerE=e("#"+h.lay+g),a.offsetTop=-1!=c.offset[0].indexOf("px")?parseFloat(c.offset[0]):parseFloat(c.offset[0])/100*f.height(),a.offsetTop=a.offsetTop+c.border[0]+(c.fix?0:f.scrollTop()),-1!=c.offset[1].indexOf("px")?a.offsetLeft=parseFloat(c.offset[1])+c.border[0]:(c.offset[1]=""===c.offset[1]?"50%":c.offset[1],a.offsetLeft="50%"===c.offset[1]?c.offset[1]:parseFloat(c.offset[1])/100*f.width()+c.border[0]),l.css({left:a.offsetLeft,top:a.offsetTop,width:c.area[0],height:c.area[1]}),c.fix||l.css({position:"absolute"}),c.title[1]&&(3!==c.type||4!==c.type))switch(m=0===c.type?d:c,n=l.find(".xubox_botton"),m.btn=c.btn||d.btn,m.btns){case 0:n.html("").hide();break;case 1:n.html(''+m.btn[0]+"");break;case 2:n.html(''+m.btn[0]+""+''+m.btn[1]+"")}"auto"===l.css("left")?(l.hide(),setTimeout(function(){l.show(),a.set(g)},500)):a.set(g),c.time<=0||a.autoclose(),a.callback()},g.fade=function(a,b,c){a.css({opacity:0}).animate({opacity:c},b)},i.pt.set=function(a){var m,n,o,p,q,r,b=this,c=b.layerE,d=c.find(h.title),i=b.config,k=(i.dialog,i.page);switch(i.loading,b.autoArea(a),i.title[1]?0===i.type&&layer.ie6&&d.css({width:c.outerWidth()}):4!=i.type&&c.find(".xubox_close").addClass("xubox_close1"),c.attr({type:g.type[i.type]}),i.type){case 0:c.find(".xubox_main").css({"background-color":"#fff"}),i.title[1]?c.find(h.text).css({paddingTop:18+d.outerHeight()}):(c.find(".xubox_msgico").css({top:8}),c.find(h.text).css({marginTop:11}));break;case 1:c.find(k.dom).addClass("layer_pageContent"),i.shade[0]&&c.css({zIndex:i.zIndex+1}),i.title[1]&&c.find(h.page).css({top:d.outerHeight()});break;case 2:m=c.find("."+h.ifr),n=c.height(),m.addClass("xubox_load").css({width:c.width()}),i.title[1]?m.css({top:d.height(),height:n-d.height()}):m.css({top:0,height:n}),layer.ie6&&m.attr("src",i.iframe.src);break;case 4:o=[0,c.outerHeight()],p=e(i.tips.follow),q={width:p.outerWidth(),height:p.outerHeight(),top:p.offset().top,left:p.offset().left},r=c.find(".layerTipsG"),i.tips.isGuide||r.remove(),c.outerWidth()>i.maxWidth&&c.width(i.maxWidth),q.tipColor=i.tips.style[1],o[0]=c.outerWidth(),q.where=[function(){q.tipLeft=q.left,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.tipLeft=q.left,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[i.tips.guide](),0===i.tips.guide?q.top-(f.scrollTop()+o[1]+16)<0&&q.where[2]():1===i.tips.guide?f.width()-(q.left+q.width+o[0]+16)>0||q.where[3]():2===i.tips.guide?q.top-f.scrollTop()+q.height+o[1]+16-f.height()>0&&q.where[0]():3===i.tips.guide&&o[0]+16-q.left>0&&q.where[1](),c.css({left:q.tipLeft,top:q.tipTop})}i.fadeIn&&(g.fade(c,i.fadeIn,1),g.fade(e("#xubox_shade"+a),i.fadeIn,i.shade[0])),b.move()},i.pt.autoArea=function(a){var c,d,f,g,i,k,j,l,m,n,o,b=this;switch(a=a||b.index,c=b.config,d=c.page,f=e("#"+h.lay+a),g=f.find(h.title),i=f.find(".xubox_main"),j=c.title[1]?g.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(h.text).outerHeight()+20,m.length>0&&(l=m.outerHeight()+20);break;case 1:n=f.find(h.page),k=e(d.dom).outerHeight(),"auto"===c.area[0]&&f.css({width:n.outerWidth()}),(""!==d.html||""!==d.url)&&(k=n.outerHeight());break;case 2:f.find("iframe").css({width:f.outerWidth(),height:f.outerHeight()-(c.title[1]?g.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}),e("#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})},i.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})}};b.move&&a.layerE.find(b.move).attr("move","ok"),b.move?a.layerE.find(b.move).css({cursor:"move"}):a.layerE.find(b.move).css({cursor:"auto"}),e(b.move).on("mousedown",function(a){if(a.preventDefault(),"ok"===e(this).attr("move")){c.ismove=!0,c.layerE=e(this).parents("."+h.lay);var d=c.layerE.offset().left,g=c.layerE.offset().top,i=c.layerE.width()-6,j=c.layerE.height()-6;e("#xubox_moves")[0]||e("body").append('
'),c.move=e("#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=f.scrollTop())}}),e(document).mousemove(function(a){var d,e,g,h;c.ismove&&(d=a.pageX-c.moveX,e=a.pageY-c.moveY,a.preventDefault(),b.moveOut||(c.setY=f.scrollTop(),g=f.width()-c.move.outerWidth()-b.border[0],h=b.border[0]+c.setY,dg&&(d=g),h>e&&(e=h),e>f.height()-c.move.outerHeight()-b.border[0]+c.setY&&(e=f.height()-c.move.outerHeight()-b.border[0]+c.setY)),c.move.css({left:d,top:e}),b.moveType&&c.moveLayer(),d=null,e=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()})},i.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)},g.config={end:{}},i.pt.callback=function(){var a=this,b=a.layerE,c=a.config,d=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):d.yes(a.index)}),b.find(".xubox_no").on("click",function(){c.no?c.no(a.index):d.no(a.index),layer.close(a.index)}),a.config.shadeClose&&e("#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(){e(this).hasClass("xubox_maxmin")?(layer.restore(a.index),c.restore&&c.restore(b)):(layer.full(a.index,c),c.full&&c.full(b))}),g.config.end[a.index]=c.end},g.reselect=function(){e.each(e("select"),function(){var c=e(this);c.parents("."+h.lay)[0]||1==c.attr("layer")&&e("."+h.lay).length<1&&c.removeAttr("layer").show(),c=null})},i.pt.IE6=function(a){var d,b=this,c=a.offset().top;d=b.config.fix?function(){a.css({top:f.scrollTop()+c})}:function(){a.css({top:c})},d(),f.scroll(d),e.each(e("select"),function(){var c=e(this);c.parents("."+h.lay)[0]||"none"==c.css("display")||c.attr({layer:"1"}).hide(),c=null})},i.pt.openLayer=function(){var a=this;layer.autoArea=function(b){return a.autoArea(b)},layer.shift=function(b,c,d){var e,g,h,i,j,k;if(!layer.ie6)switch(e=a.config,g=a.layerE,h=0,i=f.width(),j=f.height()+(e.fix?0:f.scrollTop()),h="50%"==e.offset[1]||""==e.offset[1]?g.outerWidth()/2:g.outerWidth(),k={t:{top:a.offsetTop},b:{top:j-g.outerHeight()-e.border[0]},cl:h+e.border[0],ct:-g.outerHeight(),cr:i-h-e.border[0]},b){case"left-top":g.css({left:k.cl,top:k.ct}).animate(k.t,c);break;case"top":g.css({top:k.ct}).animate(k.t,c);break;case"right-top":g.css({left:k.cr,top:k.ct}).animate(k.t,c);break;case"right-bottom":g.css({left:k.cr,top:j}).animate(d?k.t:k.b,c);break;case"bottom":g.css({top:j}).animate(d?k.t:k.b,c);break;case"left-bottom":g.css({left:k.cl,top:j}).animate(d?k.t:k.b,c);break;case"left":g.css({left:-g.outerWidth()}).animate({left:a.offsetLeft},c)}},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}},g.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")},g.rescollbar=function(a){h.html.attr("layer-full")==a&&(h.html[0].style.removeProperty?h.html[0].style.removeProperty("overflow"):h.html[0].style.removeAttribute("overflow"),h.html.removeAttr("layer-full"))},layer.getIndex=function(a){return e(a).parents("."+h.lay).attr("times")},layer.getChildFrame=function(a,b){return b=b||e("."+h.ifr).parents("."+h.lay).attr("times"),e("#"+h.lay+b).find("."+h.ifr).contents().find(a)},layer.getFrameIndex=function(a){return e(a?"#"+a:"."+h.ifr).parents("."+h.lay).attr("times")},layer.iframeAuto=function(a){var b,c,d,f,g;a=a||e("."+h.ifr).parents("."+h.lay).attr("times"),b=layer.getChildFrame("body",a).outerHeight(),c=e("#"+h.lay+a),d=c.find(h.title),f=0,d&&(f=d.height()),c.css({height:b+f}),g=-parseInt(e("#xubox_border"+a).css("top")),e("#xubox_border"+a).css({height:b+2*g+f}),e("#"+h.ifr+a).css({height:b})},layer.iframeSrc=function(a,b){e("#"+h.lay+a).find("iframe").attr("src",b)},layer.area=function(a,b){var j,c=[e("#"+h.lay+a),e("#xubox_border"+a)],d=c[0].attr("type"),f=c[0].find(".xubox_main"),i=c[0].find(h.title);(d===g.type[1]||d===g.type[2])&&(c[0].css(b),f.css({width:b.width,height:b.height}),d===g.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=e("#"+h.lay+a),d=[c.position().top,c.position().left+parseFloat(c.css("margin-left"))];g.isauto(c,b,d),layer.area(a,{width:180,height:35}),c.find(".xubox_min").hide(),"page"===c.attr("type")&&c.find(h.page).hide(),g.rescollbar(a)},layer.restore=function(a){var b=e("#"+h.lay+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(h.page).show(),g.rescollbar(a)},layer.full=function(a,b){var i,c=e("#"+h.lay+a),d=2*b.border[0],j=[c.position().top,c.position().left+parseFloat(c.css("margin-left"))];g.isauto(c,b,j),h.html.attr("layer-full")||h.html.css("overflow","hidden").attr("layer-full",a),clearTimeout(i),i=setTimeout(function(){layer.area(a,{top:"fixed"===c.css("position")?0:f.scrollTop(),left:"fixed"===c.css("position")?0:f.scrollLeft(),width:f.width()-d,height:f.height()-d})},100)},layer.close=function(a){var f,b=e("#"+h.lay+a),c=b.attr("type"),d=e("#xubox_moves, #xubox_shade"+a);if(b[0]){if(c==g.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(),f=0;3>f;f++)b.find(".layer_pageContent").unwrap().hide();else b[0].innerHTML="",b.remove();d.remove(),layer.ie6&&g.reselect(),g.rescollbar(a),"function"==typeof g.config.end[a]&&g.config.end[a](),delete g.config.end[a]}},layer.closeLoad=function(){layer.close(e(".xubox_loading").parents("."+h.lay).attr("times"))},layer.closeTips=function(){layer.close(e(".xubox_tips").parents("."+h.lay).attr("times"))},layer.closeAll=function(){e.each(e("."+h.lay),function(){layer.close(e(this).attr("times"))})},g.run=function(){e=jQuery,f=e(a),h.html=e("html"),layer.use("skin/layer.css"),e.layer=function(a){var b=new i(a);return b.index},(new Image).src=layer.path+"skin/default/xubox_ico0.png"},j="../../init/jquery",a.seajs?define([j],function(b,c){g.run(),c.layer=[a.layer,a.$.layer]}):g.run()}(window); \ No newline at end of file +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.4",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:["信息",!0],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,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+=''),d.title[1]&&(m='
'+d.title[0]+"
"),[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.title===!1?c.title=[]:"string"==typeof c.title&&(c.title=[c.title,!0]),c.type){case 0:c.title[1]||(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=[],c.area=["auto","auto"],c.closeBtn=["",!1],d(".xubox_loading")[0]&&layer.closeLoad();break;case 4:c.title=[],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[1]&&(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[1]?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[1]?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})}};b.move&&a.layerE.find(b.move).attr("move","ok"),b.move?a.layerE.find(b.move).css({cursor:"move"}):a.layerE.find(b.move).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(b,c){f.run(),c.layer=[a.layer,a.$.layer]}):f.run()}(window); \ No newline at end of file diff --git a/skin/layer.css b/skin/layer.css index 3a8fe37..e335a5e 100644 --- a/skin/layer.css +++ b/skin/layer.css @@ -70,7 +70,7 @@ .xubox_botton2:hover{ background-position:-5px -146px;} .xubox_botton .xubox_botton3{width:71px; height:29px; line-height:29px; margin-left:10px; background-position:-81px -114px;} .xubox_botton3:hover{background-position:-81px -146px;} -.xubox_tips{position:relative; line-height:20px; padding:3px 30px 3px 10px; font-size:12px; _float:left; border-radius:3px; box-shadow: 1px 1px 3px rgba(0,0,0,.3);} +.xubox_tips{position:relative; line-height:20px; min-width: 12px; padding:3px 30px 3px 10px; font-size:12px; _float:left; border-radius:3px; box-shadow: 1px 1px 3px rgba(0,0,0,.3);} .xubox_tips i.layerTipsG{ position:absolute; width:0; height:0; border-width:8px; border-color:transparent; border-style:dashed; *overflow:hidden;} .xubox_tips i.layerTipsT, .xubox_tips i.layerTipsB{left:5px; border-right-style:solid;} .xubox_tips i.layerTipsT{bottom:-8px;} diff --git a/skin/layer.ext.css b/skin/layer.ext.css index d0de796..6570a05 100644 --- a/skin/layer.ext.css +++ b/skin/layer.ext.css @@ -14,11 +14,11 @@ .xubox_layer .xubox_formArea{width:300px; height:100px; line-height:20px;} /* tab模式 */ -.xubox_layer .xubox_tab{position:relative; border:1px solid #ccc;} +.xubox_layer .xubox_tab{position:relative; background-color:#fff; box-shadow:1px 1px 50px rgba(0,0,0,.4)} .xubox_layer .xubox_tabmove{position:absolute; width:600px; height:30px; top:0; left:0;} -.xubox_layer .xubox_tabtit{ display:block; height:30px; border-bottom:1px solid #ccc; background-color:#eee;} -.xubox_layer .xubox_tabtit span{position:relative; float:left; width:120px; height:30px; line-height:30px; text-align:center; cursor:default;} -.xubox_layer .xubox_tabtit span.xubox_tabnow{left:-1px; _top:1px; height:31px; border-left:1px solid #ccc; border-right:1px solid #ccc; background-color:#fff; z-index:10;} +.xubox_layer .xubox_tabtit{ display:block; height:34px; border-bottom:1px solid #ccc; background-color:#eee;} +.xubox_layer .xubox_tabtit span{position:relative; float:left; width:120px; height:34px; line-height:34px; text-align:center; cursor:default;} +.xubox_layer .xubox_tabtit span.xubox_tabnow{left:-1px; _top:1px; height:35px; border-left:1px solid #ccc; border-right:1px solid #ccc; background-color:#fff; z-index:10;} .xubox_layer .xubox_tab_main{line-height:24px; clear:both;} .xubox_layer .xubox_tab_main .xubox_tabli{display:none;} .xubox_layer .xubox_tab_main .xubox_tabli.xubox_tab_layer{display:block;}