js-运动函数包

function move(obj, attr, dir, target, endFn) {
clearInterval(obj.timer) //  避免全局变量,所以要用oBox.timer
dir = parseInt(getStyle(obj, attr)) < target ? dir : -dir
obj.timer = setInterval(function() {
var speed = parseInt(getStyle(obj, attr)) + dir //步长


if(speed > target && dir > 0 || speed < target && dir < 0) {
speed = target
}


obj.style[attr] = speed + "px" //当属性作为参数传进来时,不能直接.;要用[]


if(speed == target) {
clearInterval(obj.timer)
if(endFn) {
endFn()
}
}


}, 30)
}


function getStyle(obj, attr) {
return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj)[attr]
}

猜你喜欢

转载自blog.csdn.net/asazyf/article/details/80693686