Open Div,Hidden Select ,Flash

function Open(){
  //隐藏select控件
  DispalySelect(0); 
  //显示遮罩层
  $("divPageMask").style.display="block";
 //处理遮罩层
  resizeMask();
  window.onResize = resizeMask;
  //显示弹出窗口
  $("divOpenWin").style.display="block";
}
function Close(){
  //显示select控件
  DispalySelect(1);
  //处理遮罩层
  var m = $("divPageMask");
  m.style.width = "0px";
  m.style.height = "0px";
  var o = $("divOpenWin");
  o.style.display = "none";
  window.onResize = null;
  o.style.display="none";
}
//页面遮罩
function resizeMask(){
  var m = $("divPageMask");
  m.style.width = document.documentElement.clientWidth+'px';
  m.style.height = resizeHeight()+'px';
  var o = $("divOpenWin");
   o.style.left = ((document.documentElement.clientWidth - 600) / 2)+'px';
  o.style.top = ((document.documentElement.clientHeight - 400) / 2)+'px';
}
function DispalySelect(val){ 
 //显示和隐藏select控件
  var dispalyType;
   var arrdispalyType=["hidden","visible"];
   var arrObjSelect=document.getElementsByTagName("select");
   for (i=0;i<arrObjSelect.length;i++){
     arrObjSelect[i].style.visibility=arrdispalyType[val];
   }
}
function resizeHeight(){
 var ch = document.documentElement.clientHeight;
 var oh = document.documentElement.scrollHeight;
 if(ch>oh){ return ch;}else{ return oh}
}

 

此脚本只适用于如下的DOCTYPE

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

在IE和FireFox下均正常

HTML:

<div id="divPageMask"></div>
<div id="divOpenWin">
内容区域<a href="javascript:Close();">Close</a>
</div>

 

具体适用方式是:可以通过页面上的某个按钮和超链接触发脚本的Open方法,然后在内容区写上关闭的方法就行了。

上面代码来自网络,感谢贡献者,只是自己增加了resizeHeight方法,因为如果按作者原来的写法只能遮罩文档大小,如果文档内容小于屏幕高度,则不会遮罩下部分,resizeHeight通过比较当前是取文档高度还是屏幕高度。另外要注意的是在设置height和width时要加上px,否则firefox就不认了。

另外别忘记两个div的样式,具体怎么做,你自己修改就行了

#divPageMask{
 background-color:#000000;
 filter:alpha(opacity=50);
 -moz-opacity:.5;
 opacity:0.5;
 left:0px;
 position:absolute;
 top:0px;
}
#divOpenWin{background-color:#FFFFFF;position: absolute;left:0px;top:0px;display: none;z-index:50; width:700px;height:auto}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值