function animate(obj,target,callback){
// obj是目标元素,target是目标位置,callback是回调函数
//执行定时器前先清除定时器,确保只有一个定时器在工作
clearInterval(obj.timer)
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();
}
}
obj.style.left = obj.offsetLeft + step + 'px'
},15)
}
封装带回调函数的缓动动画函数
最新推荐文章于 2024-11-01 13:37:40 发布