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]
}
相关文章
- python值函数名的使用以及闭包,迭代器
- JavaScript函数、闭包、原型、面向对象
- 从飞机的状态矩阵A阵求运动模态的特征根、求传递函数矩阵
- Hive报错:自定义函数找不到第三方jar包 : com/alibaba/fastjson/JSON
- 【Go】strconv 包简介与 Atoi 函数
- Js基础知识6-JavaScript匿名函数和闭包
- Aubo 协作机械臂正逆运动学包-python 版本(一)
- STM32串口中断服务函数详解(含包头,包尾教程)
- golang time包和日期函数
- golang_JSON处理: go中如何利用encoding/json包中Marshal函数生成JSON以及Unmarshal函数解析JSON