JavaScript实现动画打开半透明提示层的方法
本文实例讲述了JavaScript实现动画打开半透明提示层的方法。分享给大家供大家参考。具体如下:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>
<title>DOM半透明提示层</title>
<styletype="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:2pxsolid#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:2pxsolid#849BCA;
margin-top:2px;
margin-left:2px;
float:left;
overflow:hidden;
position:absolute;
left:0px;
top:0px;
cursor:move;
float:left;
}
.content{
padding:10px;
}
</style>
</head>
<body>
<divid="bodyL">
<ahref="#"class="od"onclick="show('fd');returnfalse;">
[打开层]
</a>
<ahref="#"class="od"onclick="closeed('fd');returnfalse;">
[关闭层]
</a>
</div>
<divid="fd"style="display:none;filter:alpha(opacity=100);opacity:1;">
<divclass="content">移动层</div>
</div>
<scripttype="text/javascript">
varprox;
varproy;
varproxc;
varproyc;
functionshow(id){/*--打开--*/
clearInterval(prox);
clearInterval(proy);
clearInterval(proxc);
clearInterval(proyc);
varo=document.getElementById(id);
o.style.display="block";
o.style.width="1px";
o.style.height="1px";
prox=setInterval(function(){openx(o,500)},10);
}
functionopenx(o,x){/*--打开x--*/
varcx=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);
}
}
functionopeny(o,y){/*--打开y--*/
varcy=parseInt(o.style.height);
if(cy<y)
{
o.style.height=(cy+Math.ceil((y-cy)/5))+"px";
}
else
{
clearInterval(proy);
}
}
functioncloseed(id){/*--关闭--*/
clearInterval(prox);
clearInterval(proy);
clearInterval(proxc);
clearInterval(proyc);
varo=document.getElementById(id);
if(o.style.display=="block")
{
proyc=setInterval(function(){closey(o)},10);
}
}
functionclosey(o){/*--打开y--*/
varcy=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);
}
}
functionclosex(o){/*--打开x--*/
varcx=parseInt(o.style.width);
if(cx>0)
{
o.style.width=(cx-Math.ceil(cx/5))+"px";
}
else
{
clearInterval(proxc);
o.style.display="none";
}
}
/*鼠标拖动*/
varod=document.getElementById("fd");
vardx,dy,mx,my,mouseD;
varodrag;
varisIE=document.all?true:false;
document.onmousedown=function(e){
vare=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;
}
}
//functionreadyMove(e){
od.onmousedown=function(e){
odrag=this;
vare=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){
vare=e?e:event;
//alert(mrx);
//alert(e.button);
if(mouseD==true&&odrag)
{
varmrx=e.clientX-mx;
varmry=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><br/>
<div>https://www.nhooo.com/</div>
</body>
</html>
希望本文所述对大家的javascript程序设计有所帮助。