js运动框架

// JavaScript Document
<script type="text/javascript">
window.onload=function(){
var oDiv=document.getElementsByTagName('div');
for(var i=0;i<oDiv.length;i++){
oDiv[i].timer=null;
oDiv[i].onmouseover=function(){
startMove(this,'opacity',100);
}
oDiv[i].onmouseout=function(){
startMove(this,'opacity',30);
}
}
}
function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}else{
return getComputedStyle(obj,false)[attr];
}
}
var timer=null;
function startMove(obj,attr,iTarget){
clearInterval(obj.timer);
obj.timer=setInterval(function(){
var iCur=0;
if(attr=='opacity'){
iCur=parseInt(parseFloat(getStyle(obj,'opacity'))*100);//在这里首先要用pareFloat()方法让opacity的小数值取出,然后再用parseInt()方法将该属性值多余的小数去掉
}else{
iCur=parseInt(getStyle(obj,'width'));
}
var iSpeed=(iTarget-iCur)/8;
iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);
if(iCur==iTarget){
clearInterval(obj.timer);
}else{
if(attr=='opacity'){
obj.style.opacity=(iCur+iSpeed)/100;
//obj.style.filter=iCur+iSpeed;
}else{
obj.style.width=iCur+iSpeed+'px';
}
}
},30);
}

</script>

原文地址:https://www.cnblogs.com/Upton/p/4691922.html