我需要一个网页项目的时间轴,类似于这个 - 我已经阅读了这个时间轴的代码,但由于文档不够详细,我并没有理解它。我的问题在于其中的数学计算(而非与画布的交互)。我已经阅读了几篇关于滚动条数学计算的文章,例如这里、这里和这里,但它们都没有提到缩放的问题。一些文章建议使用非常大的宽度值来容纳画布元素,并仅显示视口。我认为这不是正确的方法 - 我想要绘制正确的视口。在我的项目中,我有一个包含n个点的数组。每个点都包含以秒为单位表示的时间值,但并不是所有点都在视口内。考虑当前的缩放级别,我该如何计算: 应绘制哪些点以及它们的位置? 滑块的大小和位置是多少? 有关此类问题的文章/教程吗?