function animate(obj, target, callback) { // 盒子移动函数 clearInterval(obj.timer); obj.timer = setInterval(move, 20); function move() { var step = (target - obj.offsetLeft) / 10; step = step > 0 ? Math.ceil(step) : Math.floor(step) obj.style.left = obj.offsetLeft + step + 'px'; // obj.style.left = target + 'px'; // 闪变 if (obj.offsetLeft == target) { clearInterval(obj.timer); if (callback) { callback(); } } } } function animateY(obj, target, callback) { // 盒子移动函数 clearInterval(obj.timer); obj.timer = setInterval(move, 10); function move() { var step = (target - window.pageYOffset) / 10; step = step > 0 ? Math.ceil(step) : Math.floor(step) // obj.style.left = target + 'px'; // 闪变 if (window.pageYOffset == target) { clearInterval(obj.timer); callback && callback(); } // window.pageYOffset = window.pageYOffset + step + 'px'; window.scroll(0, window.pageYOffset + step) // 不加单位 } }