下面这个用 JavaScript 实现的缓冲运动,永远都无法到达目标点吗?

2019-05-05 21:42:31 +08:00
 manyfreebug
代码及运行效果均可在 jsbin 中查看:
https://jsbin.com/lodubal/edit?html,css,js,output#J:L14

2928 次点击
所在节点    JavaScript
4 条回复
CEBBCAT
2019-05-05 22:14:04 +08:00
注:楼主贴的图是 png,不是 gif
zhyl
2019-05-06 09:46:17 +08:00
1. 计算机中有精度限制, 不会 "万世不竭"

2. offsetLeft 是一个整数, https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetLeft#Syntax
你把那一行改成 box.style.left = parseFloat(box.style.left || 0) + speed + "px";
xy7821665
2019-05-06 10:56:29 +08:00
consolelog(box.style.left);

150
225
262.5
281.5
291
295.5
298
299
299.5
300
300
300
...
停不下来
civet
2019-05-06 23:58:33 +08:00
浮点数了解一下,条件判断了解一下。还有,计算机是 01 的世界,不是理论的世界,不要想当然

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/561258

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX