// startMove(对象,属性,目标点,回调)
function startMove(obj,attr,iTarget,fnEnd){
clearInterval(obj.timer);
var speed = 0;
obj.timer = setInterval(function(){
var cur = parseInt(getStyle(obj,attr));
speed += (iTarget - cur) / 5;
speed *= 0.7;
if(Math.abs(speed) <= 1 && Math.abs(iTarget - cur) <= 1){
clearInterval(obj.timer);
obj.style[attr] = iTarget + 'px';
speed = 0;
if(fnEnd) fnEnd(); //回调
}else{
//过界
var cc = cur + speed;
if((attr == 'height' || attr == 'width') && cc < 1){
obj.style[attr] = 1;
}else{
obj.style[attr] = cc + 'px';
}
}
console.log(speed,cur,iTarget,attr);
},30);
}
function getStyle(obj,attr){
return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj)[attr];
}
JS - 弹性运动完美框架
最新推荐文章于 2023-07-23 17:15:32 发布