diff --git a/common/src/main/resources/static/layer/3.1/layer.js b/common/src/main/resources/static/layer/3.1/layer.js index 1dc957e4..9becb2e5 100644 --- a/common/src/main/resources/static/layer/3.1/layer.js +++ b/common/src/main/resources/static/layer/3.1/layer.js @@ -804,29 +804,45 @@ layer.window = window; //获取子iframe的DOM layer.getChildFrame = function(selector, index){ - index = index || $('.'+doms[4]).attr('times'); - return $('#'+ doms[0] + index).find('iframe').contents().find(selector); + index = index || $('.'+doms[4]).attr('times'); + return $('#'+ doms[0] + index).find('iframe').contents().find(selector); }; //得到当前iframe层的索引,子iframe时使用 layer.getFrameIndex = function(name){ - return $('#'+ name).parents('.'+doms[4]).attr('times'); + return $('#'+ name).parents('.'+doms[4]).attr('times'); }; -//iframe层自适应宽高 -layer.iframeAuto = function(index){ - if(!index) return; - var heg = layer.getChildFrame('html', index).outerHeight(); - var layero = $('#'+ doms[0] + index); - var titHeight = layero.find(doms[1]).outerHeight() || 0; - var btnHeight = layero.find('.'+doms[6]).outerHeight() || 0; - layero.css({height: heg + titHeight + btnHeight}); - layero.find('iframe').css({height: heg}); +//iframe层自适应宽高(diffVal差值范围内,进行自适应高度) +layer.iframeAuto = function(index, diffVal){ + if(!index){ + return; + } + var iframe = document.getElementById(doms[4] + index); + if (iframe) { + var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow; + if (iframeWin.document.body) { + var layero = $('#'+ doms[0] + index); + var titHeight = layero.find(doms[1]).outerHeight() || 0; + var btnHeight = layero.find('.'+doms[6]).outerHeight() || 0; +// var heg = layer.getChildFrame('html', index).outerHeight(); + var heg = iframeWin.document.body.scrollHeight; + var layerHeight = heg + titHeight + btnHeight; + var layerTop = ($(window).height() - layerHeight) / 2; + if (layerTop > 0){ + var $iframe = layero.find('iframe'); + if (Math.abs($iframe.height() - heg) < (diffVal || 9000)){ + layero.css({height: layerHeight, top: layerTop}); + $iframe.css({height: heg}); + } + } + } + } }; //重置iframe url layer.iframeSrc = function(index, url){ - $('#'+ doms[0] + index).find('iframe').attr('src', url); + $('#'+ doms[0] + index).find('iframe').attr('src', url); }; //返回当前layer的iframe对象的window对象 ThinkGem diff --git a/common/src/main/resources/static/layer/3.1/skin/default/layer.css b/common/src/main/resources/static/layer/3.1/skin/default/layer.css index c613a930..c4bb4389 100644 --- a/common/src/main/resources/static/layer/3.1/skin/default/layer.css +++ b/common/src/main/resources/static/layer/3.1/skin/default/layer.css @@ -92,7 +92,8 @@ html #layuicss-layer{display: none; position: absolute; width: 1989px;} .layui-layer-page .layui-layer-content{position:relative; overflow:auto;} .layui-layer-page .layui-layer-btn,.layui-layer-iframe .layui-layer-btn{padding-top:10px;} .layui-layer-nobg{background:none;} -.layui-layer-iframe iframe{display: block; width: 100%; border-radius: 3px;} +.layui-layer-iframe{transition:top 0.2s ease-in-out;} +.layui-layer-iframe iframe{display: block; width: 100%; border-radius: 3px; transition:height 0.2s ease-in-out;} .layui-layer-loading{border-radius:100%; background:none; box-shadow:none; border:none;} .layui-layer-loading .layui-layer-content{width:60px; height:24px; background:url(loading-0.gif) no-repeat;} diff --git a/modules/core/src/main/resources/views/layouts/default.html b/modules/core/src/main/resources/views/layouts/default.html index 296f23b1..2135f41d 100644 --- a/modules/core/src/main/resources/views/layouts/default.html +++ b/modules/core/src/main/resources/views/layouts/default.html @@ -15,5 +15,5 @@ var themeName = @Global.getConfig('web.view.themeName', 'default'); <% if (!@ListUtils.inString('layout', libs!)){ %>