我们需要用的时候,只需在调用即可
function fn(a, b, c) {
console.log(c);
console.log(b);
// 先清除在执行 只保留一个定时器执行
clearInterval(a.ff)
// a.ff 表示:谁的函数 动态的
a.ff = setInterval(function () {
// 步长值要写在定时器的里面
// 把步长值改为整数 不要出现小数的问题
let step = (b - a.offsetLeft) / 10;
// 判断步长值 如果是正值,则步长往大了取整 如果是负值,则步长向小了取整
step = step > 0 ? Math.ceil(step) : Math.floor(step)
if (a.offsetLeft == b) {
// 停止动画(定时器)
clearInterval(a.ff)
// && 左右都是true的时候才会运行
c && c()
}
// 把每次加1 这个步长值改为一个慢慢变小的值 (目标值-现在的位置)/ 10
a.style.left = a.offsetLeft + step + 'px';
// console.log(a.offsetLeft);
}, 15) // 15 为多少毫秒 运动一次
}
秃头桑的知识能力有限,如果有写的不对的地方,还请各位大佬批评指正,各位小伙伴如果有什么想和秃头桑说的欢迎在下方留言。