function getStyle(ele, attr) {
if (ele.currentStyle) {
return ele.currentStyle[attr];
} else {
return getComputedStyle(ele, false)[attr];
}
}
function move(ele, obj, callback) {
clearInterval(ele.timer);
ele.timer = setInterval(function () {
var a = true;
for (var attr in obj) {
if (attr == "opacity") {
var start = getStyle(ele, attr) * 100;
} else {
var start = parseInt(getStyle(ele, attr));
}
var speed = (obj[attr] - start) / 8;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (obj[attr] != start) {
a = false;
}
if (attr == "opacity") {
ele.style.opacity = (start + speed) / 100;
ele.style.filter = "alpha(opacity=" + (start + speed)+ ")";
} else {
ele.style[attr] = start + speed + "px";
}
}
if (a) {
clearInterval(ele.timer);
callback && callback();
}
}, 30)
}