在HTML5画布上绘制带有滚动条的可缩放时间线

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

    1

    谢谢你的回答! 这些链接很棒。 但我更喜欢构建自己的时间轴,因为我喜欢研究滚动条的概念/数学... 有关此主题的任何文章/书籍/代码片段吗? - Arnon

    0
    你可以使用Raphealjs.com,这是最常用的SVG库之一,通过它你可以编写自己的JS代码来生成时间轴。

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接