js 运动框架_包括图片的淡入淡出效果,需要的朋友可以参考一下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>无标题文档</title>
- <font face="Verdana, Geneva, sans-serif"></font>
- <style type="text/CSS">
- #div1{width:100px;height:100px;background:#ccc;position:absolute;top:0px;left:0px;}
- #div2{width:100px;height:100px;background:#ccc;position:absolute;left:0px;top:110px;}
- #div3{width:100px;height:100px;background:red;position:absolute;left:220px;top:0px;filter:alpha(opacity:30);opacity:0.3;}
- #div4{width:100px;height:100px;background:red;position:absolute;left:330px;top:0px;filter:alpha(opacity:30);opacity:0.3;}
- #div5{width:100px;height:100px;background:red;position:absolute;left:440px;top:0px;filter:alpha(opacity:30);opacity:0.3;}
- </style>
- <script type="text/javascript">
- window.onload=function()
- {
- oDiv1=document.getElementById("div1");
- oDiv2=document.getElementById("div2");
- oDiv3=document.getElementById("div3");
- oDiv4=document.getElementById("div4");
- oDiv5=document.getElementById("div5");
oDiv1.onmouseover=function(){
Move(oDiv1,"width",200);
//alert(getStyle(oDiv1,"width"));
}
oDiv1.onmouseout=function(){
Move(oDiv1,"width",100);
}
oDiv2.onmouseover=function(){
Move(oDiv2,"height",200);
}
oDiv2.onmouseout=function(){
Move(oDiv2,"height",100);
}
oDiv3.onmouseover=function(){
Move(oDiv3,"opacity",100);
}
oDiv3.onmouseout=function(){
Move(oDiv3,"opacity",30);
}
oDiv4.onmouseover=function(){
Move(oDiv4,"opacity",100);
}
oDiv4.onmouseout=function(){
Move(oDiv4,"opacity",30);
}
oDiv5.onmouseover=function(){
Move(oDiv5,"opacity",100);
}
oDiv5.onmouseout=function(){
Move(oDiv5,"opacity",30);
}
}
// 获取行间样式
function getStyle(obj,attr) //getStyle 非行间属性 结果值为 ***px
{if(obj.currentStyle)
{
return obj.currentStyle[attr];
}
else{
return getComputedStyle(obj,false)[attr];
}
}
// 多物体不同运动框架
function Move(obj,attr,itarget)
{
clearInterval(obj.timer);
obj.timer=setInterval(function(){
if(attr=="opacity")
{cur=parseFloat(getStyle(obj,attr))*100;
speed=(itarget-cur)/10;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
if(cur==itarget)
{
clearInterval(obj.timer);
}else
{ cur+=speed;
obj.style.opacity=cur/100;
obj.style.filter="alpha(opacity:"+cur+")";
}
}
else
{
cur=parseInt(getStyle(obj,attr));
speed=(itarget-cur)/10; //parseInt 获取的值转化为数
speed=speed>0?Math.ceil(speed):Math.floor(speed); // 向下、向上取正
if(cur==itarget)
{
clearInterval(obj.timer);
}else
{
obj.style[attr]=cur+speed+"px";
}
}
},30)
}
来源: