我正在使用 SVG 和 JavaScript/jQuery 开发交互式界面,我正在尝试在Raphael和jQuery SVG之间做出决定。我想知道
我不需要 Raphael 中的 VML/IE 支持,也不需要 jQuery SVG 的绘图能力。我主要对在 SVG 画布上创建、动画和操作单个项目的最优雅的方式感兴趣。
我最近使用了 Raphael 和 jQuery SVG - 以下是我的想法:
优点: 一个很好的入门库,很容易用 SVG 快速做很多事情。写得很好,有据可查。大量示例和演示。非常可扩展的架构。非常适合动画。
缺点: 是实际 SVG 标记之上的一层,使得使用 SVG 做更复杂的事情变得困难 - 例如分组(它支持集合,但不支持组)。在编辑现有元素时效果不佳。
优点: 一个 jquery 插件,如果你已经在使用 jQuery。写得很好,有据可查。大量示例和演示。支持大多数 SVG 元素,允许轻松本地访问元素
缺点: 架构不如 Raphael 可扩展。有些事情可以更好地记录(例如配置 SVG 元素)。在编辑现有元素时效果不佳。动画依赖于 SVG 语义——这不是很好。
SnapSVG 是 Raphael 的继任者。它仅在支持 SVG 的浏览器中受支持,并且几乎支持 SVG 的所有功能。
如果您要快速轻松地做某事,Raphael 是一个简单的选择。如果您要做更复杂的事情,我选择使用 jQuery SVG,因为我可以比使用 Raphael 更容易地操作实际标记。如果你想要一个非 jQuery 解决方案,那么 SnapSVG 是一个不错的选择。