JS彈出可移動的DIV對話方塊透明遮罩效果
<!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:#f8f8f8;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>
<input type="checkbox" title="123" value="213" xml:lang="456"/>
</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";
}
//拖動
var posX;
var posY;
document.getElementById("alert").onmousedown=function(e)
{
if(!e) e = window.event;
var divLeft=myAlert.style.left;
var divTop=myAlert.style.top;
if(divLeft.indexOf('%')!=-1)
divLeft=document.body.clientWidth*divLeft.substring(0,divLeft.indexOf('%'))/100;
else
divLeft=parseInt(divLeft);
if(divTop.indexOf('%')!=-1)
divTop=document.body.clientHeight*divTop.substring(0,divTop.indexOf('%'))/100;
else
divTop=parseInt(divTop);
posX = e.clientX - parseInt(divLeft);
posY = e.clientY - parseInt(divTop);
document.onmousemove = mousemove;
}
document.onmouseup = function()
{
document.onmousemove = null;
}
function mousemove(ev)
{
if(ev==null) ev = window.event;
myAlert.style.left = (ev.clientX - posX) + "px";
myAlert.style.top = ev.clientY - posY + "px";
}
function closeProc(){
message_box.style.visibility='hidden';
procbg.style.visibility = "hidden";
}
</script>
</body>
</html>
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
var myAlert = document.getElementById("Formula");
function alphaBg()
{
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.0";
mybg.style.filter = "Alpha(opacity=0)";
document.body.appendChild(mybg);
document.body.style.overflow = "hidden";
}
function closeAlphe(){
myAlert.style.display = "none";
mybg.style.display = "none";
}
var posX;
var posY;
document.getElementById("Formula").onmousedown=function(e)
{
if(!e) e = window.event;
var divLeft=myAlert.style.left;
var divTop=myAlert.style.top;
if(divLeft.indexOf('%')!=-1)
divLeft=document.body.clientWidth*divLeft.substring(0,divLeft.indexOf('%'))/100;
else
divLeft=parseInt(divLeft);
if(divTop.indexOf('%')!=-1)
divTop=document.body.clientHeight*divTop.substring(0,divTop.indexOf('%'))/100;
else
divTop=parseInt(divTop);
posX = e.clientX - parseInt(divLeft);
posY = e.clientY - parseInt(divTop);
document.onmousemove = mousemove;
}
document.onmouseup = function()
{
document.onmousemove = null;
}
function mousemove(ev)
{
if(ev==null) ev = window.event;
myAlert.style.left = (ev.clientX - posX) + "px";
myAlert.style.top = ev.clientY - posY + "px";
}