/**
* Created by zhanghaibin on 16/12/5.
*/
//完美运动框架
function getStyle(obj,attr) {
if(obj.currentStyle){
return obj.currentStyle[attr];
}else{
return getComputedStyle(obj,false)[attr];
}
};
function startMove(obj,json,fn) {
clearInterval(obj.timer);
obj.timer=setInterval(function () {
var bStop=true; //这一次运动就结束了---所有的值都到达了
for(var attr in json){
//1.取当前值
var iCur=0;
if(attr=='opacity'){
iCur=parseInt(parseFloat(getStyle(obj,attr)*100));
}else{
iCur=parseInt(getStyle(obj,attr));
}
//2.算速度
var speed=(json[attr]-iCur)/8;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
//3.检测停止
if(iCur!=json[attr]){
bStop=false;
}
if(attr=='opacity'){
obj.style.filter='alpha(opacity:'+(iCur+speed)+')';
obj.style.opacity=(iCur+speed)/100;
}else{
obj.style[attr]=iCur+speed+'px';
}
}
if(bStop){
clearInterval(obj.timer);
if(fn){
fn();
};
}
},30)
};