一、执行
var div1 = document.getElementsByTagName('div')[0];
var div2 = document.getElementsByTagName('div')[1];
div1.onclick = function(){
movetion(this,{width: 400,height: 400,opacity: 70,top: 300,left: 300},function(){
movetion(div2,{width: 400,height: 400,opacity: 70,top: 300,left: 300},function(){
console.log('ok');
});
});
};
function getStyle(dom,attr){
if(window.getComputedStyle){
return window.getComputedStyle(dom,null)[attr];
}else{
return dom.currentStyle[attr];
}
};
var timer;
function movetion (dom,attrObj,callback){
clearInterval(dom.timer);
var speed,iCur;
dom.timer = setInterval(function(){
var key = true;
for(var attr in attrObj){
if(attr == 'opacity'){
iCur = parseFloat(getStyle(dom,attr)) * 100;
}else{
iCur = parseInt(getStyle(dom,attr));
};
speed = (attrObj[attr] - iCur)/7;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if(attr == 'opacity'){
dom.style.opacity = (iCur + speed)/100;
}else{
dom.style[attr] = iCur + speed + 'px';
};
if(iCur != attrObj[attr]){
key = false;
};
};
if(key){
clearInterval(dom.timer);
typeof callback == 'function' && callback();
};
},50)
}