js弹出div并显示遮罩层

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js弹出div并显示遮罩层相关的知识,希望对你有一定的参考价值。

参考技术A 弹出div显示遮罩层的效果,想必大家都有见到过吧,下面有个示例,大家可以参考下
代码如下:
//--------------------弹出层-------------------
//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"));
;

JS弹出遮罩层

// create div
var mask=document.createElement("div");
mask.id="mask";
mask.style.position="absolute";
mask.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=4,opacity=25)";//IE的不透明设置
mask.style.opacity=0.4;//Mozilla的不透明设置
mask.style.background="black";
mask.style.top="0px";
mask.style.left="0px";
mask.style.width="10000px";
mask.style.height="888px";
mask.style.zIndex=1000;
document.body.appendChild(mask);
 
//delete div
var mask=document.getElementById("mask");
if(null==mask)return;
document.body.removeChild(mask);

 

以上是关于js弹出div并显示遮罩层的主要内容,如果未能解决你的问题,请参考以下文章

弹出遮罩层水平垂直居中

JS弹出遮罩层

element ui 弹出组件的遮罩层以及多层遮罩解决办法

遮罩层

在flash中怎么做漂亮的遮罩?为啥我每次做之后 被遮罩层都显示不出来

如何给C4D添加多个层遮罩?