function getCss(el,attr){
retrun el.currentTarget?
el.currentTarget[attr]:
el.getComputedStyle(el)[attr]
}
function animate(el,json,time,cb){
let startJson={};
let targetJson={};
for(let key in json){
startJson[key]=parseFloat(getCss(el,key))
targetJson[key]=parseFloat(Json[key]))
}
let startTime=new Date();
let px;
move();
function move(){
let prop=(new Date-startTime)/time;
if(prop<1){
for(key in json){
px=key==="opacity"?"":"px";
el.style[key]=prop*(targetJson[key]-startJson[key])+startJson+px
}
requestAnimationFrame(move)
}else{
for(key in json){
px=key==="opacity"?"":"px";
el.style[key]=targetJson[key]+px
}
cb&&cb.call(el)
}
}
}
写一个ES6性能好的运动框架
最新推荐文章于 2021-11-02 09:00:45 发布