<!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>DOM_text01</title>    
<style type="text/css">    
body,span,div,td{font-size:12px;line-height:1.5em;color:#849BCA;}    
#bodyL{    
float:left;    
width:84px;    
margin-right:2px;    
}    
a.od{    
width:80px;    
height:25px;    
line-height:25px;    
text-align:center;    
font-weight:bold;    
border: 2px solid #849BCA;     
display:block;    
color:#547BC9;    
float:left;    
text-decoration:none;    
margin-top:2px;    
}    
a.od:link{    
background:#EEF1F8;    
}    
a.od:visited{    
background:#EEF1F8;    
}    
a.od:hover{    
background:#EEE;    
}    
a.od:active{    
background:#EEE;    
}    
#fd{     
width:500px;    
height:200px;    
background:#EDF1F8;     
border: 2px solid #849BCA;    
margin-top:2px;    
margin-left:2px;    
float:left;    
overflow:hidden;    
position:absolute;    
left:0px;    
top:0px;    
cursor:move;    
float:left;    
/*filter:alpha(opacity=50);*/ 
}   
.content{    
padding:10px;    
}    
</style>    
</head>    
<body>    
<div id="bodyL">    
<a href="#" class="od" onclick = "show(‘fd’);return false;">    
[打开层]    
</a>    
<a href="#" class="od" onclick = "closeed(‘fd’);return false;">    
[关闭层]    
</a>    
</div>     
<div id="fd" style="display:none;filter:alpha(opacity=100);opacity:1;">    
<div class="content">移动层</div>     
</div> 
<script type="text/javascript">   
var prox;    
var proy;    
var proxc;    
var proyc;    
function show(id){/*–打开–*/    
clearInterval(prox);    
clearInterval(proy);    
clearInterval(proxc);    
clearInterval(proyc);    
var o = document.getElementById(id);    
o.style.display = "block";    
o.style.width = "1px";    
o.style.height = "1px";     
prox = setInterval(function(){openx(o,500)},10);    
}     
function openx(o,x){/*–打开x–*/    
var cx = parseInt(o.style.width);    
if(cx < x)    
{    
   o.style.width = (cx + Math.ceil((x-cx)/5)) +"px";    
}    
else    
{    
   clearInterval(prox);    
   proy = setInterval(function(){openy(o,200)},10);    
}    
}     
function openy(o,y){/*–打开y–*/     
var cy = parseInt(o.style.height);    
if(cy < y)    
{    
   o.style.height = (cy + Math.ceil((y-cy)/5)) +"px";    
}    
else    
{    
   clearInterval(proy);   
}    
}     
function closeed(id){/*–关闭–*/    
clearInterval(prox);    
clearInterval(proy);    
clearInterval(proxc);    
clearInterval(proyc);     
var o = document.getElementById(id);    
if(o.style.display == "block")    
{    
   proyc = setInterval(function(){closey(o)},10);   
}     
}     
function closey(o){/*–打开y–*/     
var cy = parseInt(o.style.height);    
if(cy > 0)    
{    
   o.style.height = (cy – Math.ceil(cy/5)) +"px";    
}    
else    
{    
   clearInterval(proyc);    
   proxc = setInterval(function(){closex(o)},10);    
}    
}     
function closex(o){/*–打开x–*/    
var cx = parseInt(o.style.width);    
if(cx > 0)    
{    
   o.style.width = (cx – Math.ceil(cx/5)) +"px";    
}    
else    
{    
   clearInterval(proxc);    
   o.style.display = "none";    
}    
} 
/*————————-鼠标拖动———————*/    
var od = document.getElementById("fd");     
var dx,dy,mx,my,mouseD;    
var odrag;    
var isIE = document.all ? true : false;    
document.onmousedown = function(e){    
var e = e ? e : event;    
if(e.button == (document.all ? 1 : 0))    
{    
   mouseD = true;   
}    
}    
document.onmouseup = function(){    
mouseD = false;    
odrag = "";    
if(isIE)    
{    
   od.releaseCapture();    
   od.filters.alpha.opacity = 100;    
}    
else    
{    
   window.releaseEvents(od.MOUSEMOVE);    
   od.style.opacity = 1;    
}     
} 
//function readyMove(e){    
od.onmousedown = function(e){    
odrag = this;    
var e = e ? e : event;    
if(e.button == (document.all ? 1 : 0))    
{    
   mx = e.clientX;    
   my = e.clientY;    
   od.style.left = od.offsetLeft + "px";    
   od.style.top = od.offsetTop + "px";    
   if(isIE)    
   {    
    od.setCapture();    
    od.filters.alpha.opacity = 50;    
   }    
   else    
   {    
    window.captureEvents(Event.MOUSEMOVE);    
    od.style.opacity = 0.5;    
   }    
   //alert(mx);    
   //alert(my);    
}     
}    
document.onmousemove = function(e){    
var e = e ? e : event; 
//alert(mrx);   
//alert(e.button);     
if(mouseD==true && odrag)    
{     
   var mrx = e.clientX – mx;    
   var mry = e.clientY – my;     
   od.style.left = parseInt(od.style.left) +mrx + "px";    
   od.style.top = parseInt(od.style.top) + mry + "px";   
   mx = e.clientX;    
   my = e.clientY;    
}    
} 
</script>   
</body>    
</html>