1、封装一个框架 (move.js)
function getStyle(obj,attr) {
if (obj.currentStyle) {
return obj.currentStyle[attr];
}else{
return getComputedStyle(obj,null)[attr];
}
}
function Move(obj,json,fn) {
clearInterval(obj.timer);
obj.timer = setInterval(function() {
var flag = true;
for(var attr in json) {
var iCurrent = 0;
if (attr == "opacity") {
iCurrent = parseFloat(getStyle(obj,attr))*100;
} else {
iCurren = parseInt(getStyle(obj,attr));
}
var iSpeed = (json[attr] - iCurrent) / 10;
iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);
if (json[attr] != iCurrent) {
flag = false;
}
if (att r== 'opacity') {
obj.style.opacity = (iCurrent + iSpeed) / 100;
obj.style.filter = "alpha(opacity = " + (iCurrent+iSpeed) + ")";
} else {
obj.style[attr] =iCurrent + iSpeed + "px";
}
}
if (flag) {
clearInterval(obj.timer);
fn&&fn();
}
}, 30)
}