js运动需要封装的函数
function startMove(domobj,json,fn){
clearInterval(domobj.timer);
domobj.timer = setInterval(function(){
var flag = true;
for(var attr in json){
var _target = json[attr];
if(attr == "opacity"){
var _cur = parseInt(getStyle(domobj,"opacity")*100);
}else{
var _cur = parseInt(getStyle(domobj,attr));
}
var speed = (_target - _cur)/8;
speed = speed >0 ? Math.ceil(speed):Math.floor(speed);
if(attr == "opacity"){
domobj.style.opacity = (_cur + speed)/100 ;
domobj.style.filter ="alpha (opacity="+ (_cur + speed) +")";
}else{
domobj.style[attr] = (_cur+speed)+"px";
}
if(_cur != _target){
flag = false;
}
}
if(flag){
clearInterval(domobj.timer);
if(fn){
fn();
}
}
},30);
}
function getStyle(domobj,attr){
if(window.getComputedStyle){
return getComputedStyle(domobj,null)[attr];
}
return domobj.currentStyle[attr];
}