javascript 弹出遮罩层,弹出半透明的遮罩层并显示注册文本框内容

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
<title>弹出提示</title>  
<style>  
* {margin:0;padding:0;font-size:12px;}  
html,body {height:100%;width:100%;} 
#content {background:#FFFFFF;padding:30px;height:100%;} 
#content a {font-size:30px;color:#369;font-weight:700;} 
#alert {border:1px solid #369;width:300px;height:150px;background:#e2ecf5;z-index:1000;position:absolute;display:none;} 
#alert h4 {height:20px;background:#369;color:#fff;padding:5px 0 0 5px;} 
#alert h4 span {float:left;} 
#alert h4 span#close {margin-left:210px;font-weight:500;cursor:pointer;} 
#alert p {padding:12px 0 0 30px;} 
#alert p input {width:120px;margin-left:20px;} 
#alert p input.myinp {border:1px solid #ccc;height:16px;} 
#alert p input.sub {width:60px;margin-left:30px;}  
</style>  
 
</head>  
 
<body>  
<div id="content">  
<a href="#">注册</a>  
</div>  
<div id="alert">  
<h4><span>现在注册</span><span id="close">关闭</span></h4>  
<p><label> 用户名</label><input type="text" class="myinp" onmouseover="this.style.border='1px solid #f60'" onfoucs="this.style.border='1px solid #f60'" onblur="this.style.border='1px solid #ccc'" /></p>  
<p><label> 密 码</label><input type="password" class="myinp" onmouseover="this.style.border='1px solid #f60'" onfoucs="this.style.border='1px solid #f60'" onblur="this.style.border='1px solid #ccc'" /></p>  
<p><input type="submit" value="注册" class="sub" /><input type="reset" value="重置" class="sub" /></p>  
</div>  
<script type="text/javascript">  
var myAlert = document.getElementById("alert");  
var reg = document.getElementById("content").getElementsByTagName("a")[0];  
var mClose = document.getElementById("close");  
reg.onclick = function()  
{  
myAlert.style.display = "block";  
myAlert.style.position = "absolute";  
myAlert.style.top = "50%";  
myAlert.style.left = "50%";  
myAlert.style.marginTop = "-75px";  
myAlert.style.marginLeft = "-150px";  
 
mybg = document.createElement("div");  
mybg.setAttribute("id","mybg");  
mybg.style.background = "#000";  
mybg.style.width = "100%";  
mybg.style.height = "100%";  
mybg.style.position = "absolute";  
mybg.style.top = "0";  
mybg.style.left = "0";  
mybg.style.zIndex = "500";  
mybg.style.opacity = "0.3";  
mybg.style.filter = "Alpha(opacity=30)";  
document.body.appendChild(mybg);  
 
document.body.style.overflow = "hidden";  
}  
 
mClose.onclick = function()  
{  
myAlert.style.display = "none";  
mybg.style.display = "none";  
}  
</script>  
</body>  
</html> 

 

 

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
<title></title>  
<script type="text/javascript">  
/****************************** 
*功能:提供js遮罩功能 
*开发:walkingp 
*主页:http://www.51obj.cn/ 
*E-mail:walkingp@126.com 
*******************************/ 
(function(){  
    var id='lightBox';  
    var $=function(id){return document.getElementById(id);};  
    var addEvent=function(obj,type,fn){  
        if(obj.attachEvent){  
            obj.attachEvent('on' + type,fn);  
        }else if(obj.addEventListener){  
            obj.addEventListener(type,fn,false);  
        }  
    }  
    var cuteDialog={  
        /*遮罩样式*/ 
        shadowCssText:'filter:alpha(opacity=80);opacity:0.8;background:#000;width:100%;position:absolute;left:0;top:0;z-index:99998;',  
        /*对话框样式*/ 
        dialogCssText:'position:absolute;height:50;margin-left:-300px;left:50%;font-size:12px;padding:10px;width:600px;z-index:99999;background:#fff;border:solid 10px #666;',  
        /*p层新式*/ 
        pCssText:'text-align:right;',  
        showDialog:function(){  
            /*遮罩层*/ 
            var id=arguments[0];  
            var oDiv=$(id);  
            if(!$('shadow'))  
            {  
                var shadow=document.createElement('div');  
                shadow.setAttribute('id','shadow');  
                shadow.setAttribute('style',this.shadowCssText);  
                  
                /*对话框*/ 
                var dialog=document.createElement('div');  
                dialog.setAttribute('id','dialog');  
                dialog.setAttribute('style',this.dialogCssText);  
                dialog.appendChild(oDiv);  
                  
                /*p层:存放操作按钮*/ 
                var p=document.createElement('p');  
                p.setAttribute('style',this.pCssText);  
                  
                var btnClose=document.createElement('button');  
                btnClose.innerHTML='关闭';  
                btnClose.onclick=function(){  
                    var oShadow=$('shadow'),oDialog=$('dialog');  
                    shadow.style.display = "none";  
                    oDialog.style.display = "none";  
                }  
                p.appendChild(btnClose);  
                  
                dialog.appendChild(p);  
                document.documentElement.appendChild(shadow);  
                document.documentElement.appendChild(dialog);              
            }  
            else 
            {  
                $('shadow').style.display = "block";  
                $('dialog').style.display = "block";  
            }  
 
            //遮罩层100%高度  
            $('shadow').style.width = Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth) + "px";  
            $('shadow').style.height = Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight)+"px" 
              
            //垂直居中  
            this.floatVercital('dialog');  
        },  
        hideDialog:function(){  
          
        },  
        /*始终垂直居中*/ 
        floatVercital:function(id){  
            var iTop=document.documentElement.scrollTop+(document.documentElement.clientHeight-$(id).offsetHeight)/2;  
            $('dialog').style.posTop=iTop;  
        }  
    }  
    function InitFunc(){  
        document.getElementById('openDlg').onclick=function(){  
            cuteDialog.showDialog('lightBox');//初始化遮罩  
        }  
        window.onscroll=function(){cuteDialog.floatVercital('dialog');}  
    }  
    /*初始化*/ 
    (function AddLoadEvent(func){  
        if(window.attachEvent){  
            window.attachEvent('onload',func);  
            window.attachEvent('onscroll',func);  
        }else if(window.addEventListener){  
            window.addEventListener('load',func,false);      
            window.addEventListener('scroll',func,false);      
        }else{  
            window.onload=func;  
        }  
     })(InitFunc);  
})();  
</script>  
</head>  
 
<body style="height:1000px;">  
<button id="openDlg">打开</button>  
<div id="lightBox">这是其中的内容</div>  
</body>  
</html> 

 

 

 

 

posted @ 2010-03-24 11:38  海底的鱼  阅读(592)  评论(0)    收藏  举报