效果:
代码
1、封装一个缓动函数
function move(obj, target, callback) {
// 清除多次点击后的定时器,保留最新的那一次
clearInterval(obj.timer);
// 使用obj.timer,把timer当作obj的属性,如果使用var timer = ,调用一次就会开辟一次内存空间
obj.timer = setInterval(function () {
//对步长向上取整,因为除以10可能有小数
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);
}
2、开写
(1&#