CSS如何实现弹出一个全屏灰黑色透明遮罩效果-脚本之家 <script type="text/javascript"> window.onload=function() { var zhezhao=document.getElementById("zhezhao"); var login=document.getElementById("login"); var bt=document.getElementById("bt"); var btclose=document.getElementById("btclose"); bt.onclick=function() { zhezhao.style.display="block"; login.style.display="block"; } btclose.onclick=function() { zhezhao.style.display="none"; login.style.display="none"; } } 《script》脚本之家欢迎您,
以上实现了基本的遮罩功能,当点击弹出遮罩,会弹出一个对象,当点击关闭,遮罩效果消失。
纯JavaScript:
实现效果:弹出一个窗口的时候,窗口后面的页面变暗,并且不能操作。
难点:因为p层是不能把select控件遮住的,所以要特殊处理,方法两种,一种是在弹出窗口下面加一层iframe来遮住select;第二种是所以要在弹出的时候,先把select控件隐藏,这里选择第二种方法。
实现原理:在页面上和弹出窗口中间加一个半透明的层,把页面的内容覆盖掉 。
代码:
<script language="javascript"> function Open() { //隐藏select控件 DispalySelect(0); //显示遮罩层 document.getElementById("pPageMask").style.display="block"; //处理遮罩层 resizeMask(); window.onResize = resizeMask; //显示弹出窗口 document.getElementById("pOpenWin").style.display="block"; } function Close() { //显示select控件 DispalySelect(1); //处理遮罩层 pPageMask.style.width = "0px"; pPageMask.style.height = "0px"; pOpenWin.style.display = "none"; window.onResize = null; document.getElementById("pOpenWin").style.display="none"; } //页面遮罩 function resizeMask() { pPageMask.style.width = document.body.scrollWidth; pPageMask.style.height = document.body.scrollHeight; pOpenWin.style.left = ((document.body.offsetWidth - pOpenWin.offsetWidth) / 2); pOpenWin.style.top = ((document.body.offsetHeight - pOpenWin.offsetHeight) / 2); } function DispalySelect(val) { //显示和隐藏select控件 var dispalyType; var arrdispalyType=["hidden","visible"]; var arrObjSelect=document.getElementsByTagName("select"); for (i=0;i©2007 搜铺网 粤ICP备07006767号