/* 控件移动动画效果接口
* element 目标节点
* target 移动距离
* callback 移动完成回调
*/
function animate(element, target, callback) {
//关闭定时器,防止重复触发
clearInterval(element.move)
element.move = setInterval(function() {
//每次移动像素(取整)
var step = (target - element.offsetLeft) / 10
step = step > 0 ? Math.ceil(step) : Math.floor(step);
if (element.offsetLeft === target) {
clearInterval(element.move);
callback && callback();
}
//修改样式执行移动
element.style.left = element.offsetLeft + step + 'px'
}, 15) //每15ms 执行一次
}
03-23
1395