加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

js弹出div并展示遮罩层

发布时间:2023-10-09 14:57:38 所属栏目:教程 来源:
导读:代码如下:

//--------------------弹出层-------------------

//popDivId:弹出层div的ID

//dragDivId:用于拖动div的ID

//isShowMask:是否显示遮罩层

function popDivShow(popDivId, dragDivId,
代码如下:
 
//--------------------弹出层-------------------
 
//popDivId:弹出层div的ID
 
//dragDivId:用于拖动div的ID
 
//isShowMask:是否显示遮罩层
 
function popDivShow(popDivId, dragDivId, isShowMask) {
 
if (isShowMask) {
 
creatMask(popDivId);
 
}
 
var oWins = document.getElementById(popDivId);
 
var oWins_title = document.getElementById(dragDivId);
 
var bDrag = false;
 
var disX = disY = 0;
 
oWins.style.display = "block";
 
oWins_title.onmousedown = function(event) {
 
var event = event || window.event;
 
bDrag = true;
 
disX = event.clientX - oWins.offsetLeft;
 
disY = event.clientY - oWins.offsetTop;
 
this.setCapture && this.setCapture();
 
return false;
 
};
 
document.onmousemove = function(event) {
 
if (!bDrag)
 
return;
 
var event = event || window.event;
 
var iL = event.clientX - disX;
 
var iT = event.clientY - disY;
 
var maxL = document.documentElement.clientWidth - oWins.offsetWidth;
 
var maxT = document.documentElement.clientHeight - oWins.offsetHeight;
 
iL = iL < 0 ? 0 : iL;
 
iL = iL > maxL ? maxL : iL;
 
iT = iT < 0 ? 0 : iT;
 
iT = iT > maxT ? maxT : iT;
 
oWins.style.marginTop = oWins.style.marginLeft = 0;
 
oWins.style.left = iL + "px";
 
oWins.style.top = iT + "px";
 
return false;
 
};
 
document.onmouseup = window.onblur = oWins_title.onlosecapture = function() {
 
bDrag = false;
 
oWins_title.releaseCapture && oWins_title.releaseCapture();
 
};
 
}
 
// 隐藏弹出层
 
function popDivHidden(popDivId) {
 
var oWins = document.getElementById(popDivId);
 
oWins.style.display = "none";
 
window.parent.document.body.removeChild(window.parent.document.getElementById("maskDiv"));
 
}
 
// 获取弹出层的zIndex
 
function getZindex(popDivId) {
 
var popDiv = document.getElementById(popDivId);
 
var popDivZindex = popDiv.style.zIndex;
 
return popDivZindex;
 
}
 
// 创建遮罩层
 
function creatMask(popDivId) {
 
// 参数w为弹出页面的宽度,参数h为弹出页面的高度,参数s为弹出页面的路径
 
var maskDiv = window.parent.document.createElement("div");
 
maskDiv.id = "maskDiv";
 
maskDiv.style.position = "fixed";
 
maskDiv.style.top = "0";
 
maskDiv.style.left = "0";
 
maskDiv.style.zIndex = getZindex(popDivId) - 1;
 
maskDiv.style.backgroundColor = "#333";
 
maskDiv.style.filter = "alpha(opacity=70)";
 
maskDiv.style.opacity = "0.7";
 
maskDiv.style.width = "100%";
 
maskDiv.style.height = (window.parent.document.body.scrollHeight + 50) + "px";
 
window.parent.document.body.appendChild(maskDiv);
 
maskDiv.onmousedown = function() {
 
window.parent.document.body.removeChild(window.parent.document.getElementById("maskDiv"));
 
};
 
}
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章