ele.timer = setInterval (() => {
let nowTime = +new Date()
let timeDifference = Math.min(nowTime - startTime,duration)
for (let attr in options) {
let result = start[attr] + range[attr] / duration * timeDifference
ele.style[attr] = result + 'px'
}
if (timeDifference === duration) {
clearInterval(ele.timer)
fn && fn()
}
}, 10)
可能是页面有多个ele类似的元素,需要多个定时器,这样写为了方便查找哪个元素对应哪个定时器
如果只有个一个就可以不必这样写,直接将timer作为全局变量就行了