js:
//height,left , top ,right ,opacity var timer = null function move(obj,attr,target) { //开启定时器 timer = setInterval(function(){ var current = 0; if(attr=="opacity") { current = Math.round(parseFloat(getStyle(obj,attr))*100); } else { current = parseInt(getStyle(obj,attr)); } var speed = target>current ? 6 :-6; if(Math.abs(current-target)<6) { //清除定时器 clearInterval(timer); } else { if(attr=="opacity") { obj.style.filter = "alpha(opacity:"+(current + speed) +")"; obj.style.opacity = (current + speed) /100; } else { obj.style[attr] = current + speed +"px"; } } },30); } function getStyle(obj,attr) { if(obj.currentStyle) //用于IE { return obj.currentStyle[attr]; } else { //document.defaultView.getComputedStyle 该方法时DOM2中才出现的方法 return document.defaultView.getComputedStyle(obj, null)[attr]; //getComputedStyle DOM1中的方法 //return getComputedStyle(obj,false)[attr]; } }
转载于:https://www.cnblogs.com/zoro-zero/p/4329371.html
相关资源:JS运动特效之完美运动框架实例分析