//startMove(obj,{attr1:target1,attr2:target2},fn);
function startMove(obj, json, fn) {
var flag = true;
clearInterval(obj.timer);
obj.timer = setInterval(function () {
for (var attr in json) {
//取当前的值
var icur = 0;
if (attr == 'opacity') {
icur = parseFloat(getStyle(obj, attr)) * 100;
} else {
icur = parseInt(getStyle(obj, attr));
}
//计算速度
var speed = (json[attr] - icur) / 8;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
//停止检测
if (icur !== json[attr]) {
flag = false;
}
if (attr == 'opacity') {
obj.style.opacity = (icur + speed) / 100;
} else {
obj.style[attr] = icur + speed + 'px';
}
}
if (flag) {
clearInterval(obj.timer);
if (fn) {
fn();
}
}
}, 30);
}
function getStyle(obj, attr) {
if (obj.currentStyle) {
return obj.currentStyle[attr]
} else {
return getComputedStyle(obj, false)[attr];
}
}