DIV遮罩层代码

<style type="text/css">
#divPageMask{background-color:#000000; filter:alpha(opacity=50);left:0px;position:absolute;top:0px;}
#divOpenWin{background-color:#EEEEEE;position: absolute;left:0px;top:-300px;z-index:50; width:300px;height:150px}
</style>
<div id="divPageMask"></div>
<div id="divOpenWin"><center><a href="javascript:Close();">关闭</a>
<div id="DivInfo">请认真阅读本发帖说明 (15 秒后自动关闭)</div></center></div>
<script language="javascript">
function $(id){return document.getElementById(id);}
function Open()
{   sDisp(0);  
   $("divPageMask").style.display="block";
   resizeMask();
   window.onResize = resizeMask;
   $("divOpenWin").style.display="block";
}
function Close()
{   sDisp(1);
   divPageMask.style.width = "0px";
   divPageMask.style.height = "0px";
   divOpenWin.style.top = "-300px";
   window.onResize = null;
}
function resizeMask()
{
divPageMask.style.width = document.body.scrollWidth;
divPageMask.style.height = document.body.scrollHeight>document.body.clientHeight?document.body.scrollHeight:document.body.clientHeight;
divOpenWin.style.left = (document.body.offsetWidth - divOpenWin.offsetWidth) / 2;
divOpenWin.style.top = (document.body.offsetHeight - divOpenWin.offsetHeight) / 2;
}
function sDisp(val)
{var dispalyType;
   var dType=["hidden","visible"];
   var obj=document.getElementsByTagName("select");
   for (i=0;i<obj.length;i++)
   {
     obj[i].style.visibility=dType[val];
   }
}
Open();
var secs = 15;
for(i=1;i<=secs;i++) {window.setTimeout("update(" + i + ")",  i*1000);}
function update(num) {
if(num == secs) {Close();}
else {
printnr = secs-num;
$("DivInfo").innerHTML = "请认真阅读本发帖说明 (" + printnr +" 秒后自动关闭)";
}
}
</script>


这个代码不是很完善,能实现基本的功能;

另外有个问题,就是divOpenWin层的定位问题:发现如果其属性设置成display:none,那么就无法获取到它的offsetWidth和offsetHeight值。
暂时想到的解决办法有两个:
1、就是把top值设置负的高点,效果类似隐藏吧
2、动态定义width和height,在js处理部分直接赋值,这样修改起来也方便很多 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值