js变速动画效果遇到问题

JS初学 / 望指教
用定时器控制图片变速移动,查看代码发现凭空多出来80px,不知道是哪里出错了
效果能实现,就是不理解为什么会出现880px,多出来的80从哪里来,求指教,谢谢。

img

img


就是这里的left=880px;对此有疑问,我封装的函数target明明是800px;
望指教。

放到if上面

img

1.首先,你的step计算放到了定时函数的外面,所以step永远是80,而不是每个周期越变越小,直到0
2.你的if没有else,所以即使满足了条件,定时器是关了,可是下面的代码还是会执行,所以会多加一次
你把定时器关了,只是下一次不会再次执行了,并不是立即return
你应该把后面的代码放到else里