1. 程式人生 > >JS彈出可移動的DIV對話方塊透明遮罩效果

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";
}