HTML Canvas的可点击线条和圆圈

时间:2009-11-08 18:03:09

标签: html canvas

我正在考虑制作一个应用程序,在某些点上会显示一个图形,用于在时间和空间上映射人。垂直访问是位置,水平访问是时间,每个人都由一行标识。在这个人做了重要事情的任何地方,他们的线上都有一个更大的点。从概念上讲,单击该点会显示有关该特定点的数据,但单击该行上的任何其他位置将显示该人员的详细信息。假设,当您将鼠标悬停在线条上时,线条应该会改变颜色,当您将鼠标悬停在某个点上时,只需更改颜色即可。

我知道我可以用闪存很容易地做到这一点,但我想知道这些天是否有任何方法只使用html和javascript来做到这一点。可能吗? (兼容性不是问题,我定位的唯一机器是我自己的。)

谢谢!

2 个答案:

答案 0 :(得分:3)

您可以使用canvas执行此操作,但使用SVG可能更简单。

由于SVG使用DOM,因此您可以使用内置方法来处理点击等事件,而不必像使用画布一样编写自己的处理代码。

有一些库可以使SVG更简单和跨浏览器兼容,例如Raphael和Dojo的dojox.gfx库。

答案 1 :(得分:0)

您可以将点创建为重叠div,这样您就可以轻松处理点击等。当然,您必须非常整齐地整理定位。 但是,突出显示该行将涉及手动计算点到线距离并重新绘制。