function animate(obj, target, callback) {
// 每次调用函数时应该清除之前的动画函数定时器
clearInterval(obj.timer);
// 1.设置动画就要有定时器
obj.timer = setInterval(function() {
// 步长写到定时器里
// 步长应为正数,小数会有误差
var step = (target - obj.offsetLeft) / 10;
step = step > 0 ? Math.ceil(step) : Math.floor(step);
if (obj.offsetLeft == target) {
// 停止动画,本质是停止定时器
clearInterval(obj.timer);
// 回调函数写到定时器里
//if (callback) {
// 调用回调函数
//callback();
//}
// 如果有函数则调用
callback && callback();
}
obj.style.left = obj.offsetLeft + step + 'px';
}, 15);
}
缓动动画函数
于 2022-01-28 10:27:17 首次发布