当地图部分元素全屏时,layui等框架的弹窗其实已经出来了,只是被弹窗默认加载 在body 元素下,导致被全屏元素遮挡住了,解决思路:将弹窗渲染到全屏元素下,而不是 body 下
// 打开弹窗
layer.open({
type: 1,
area: ["50%","60"],
title: false,
skin: 'tablePage', //样式类名
closeBtn: 1, //不显示关闭按钮
anim: 2,
shadeClose: true, //开启遮罩
content: content,
success: function (layero, index) {
if (isFullScreen) {// 是否为全屏状态,我是作为参数传到方法内的
$("#mapDivBox").append(layero) //mapDivBox 对应改为全屏部分内容即可
}
}
});
页面部分元素全屏的代码,此部分内容为其他人所做,但具体是谁第一次发布不甚清楚
//全屏
function fullScreen(el) {
var rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen,
wscript;
if(typeof rfs != "undefined" && rfs) {
rfs.call(el);
return;
}
if(typeof window.ActiveXObject != "undefined") {
wscript = new ActiveXObject("WScript.Shell");
if(wscript) {
wscript.SendKeys("{F11}");
}
}
}
//退出全屏
function exitFullScreen(el) {
var el= document,
cfs = el.cancelFullScreen || el.webkitCancelFullScreen || el.mozCancelFullScreen || el.exitFullScreen,
wscript;
if (typeof cfs != "undefined" && cfs) {
cfs.call(el);
return;
}
if (typeof window.ActiveXObject != "undefined") {
wscript = new ActiveXObject("WScript.Shell");
if (wscript != null) {
wscript.SendKeys("{F11}");
}
}
}