javascript - jQuery SVG 与 Raphael

标签 javascript jquery svg raphael

我正在使用 SVG 和 JavaScript/jQuery 开发交互式界面,我正在尝试在 Raphael 之间做出决定和 jQuery SVG .我想知道

  1. 两者之间的权衡是什么
  2. 发展势头似乎在哪里。

我不需要 Raphael 中的 VML/IE 支持,也不需要 jQuery SVG 的绘图功能。我主要对在 SVG Canvas 上创建、动画和操作单个项目的最优雅的方式感兴趣。

最佳答案

我最近同时使用了 Raphael 和 jQuery SVG - 以下是我的想法:

拉斐尔

优点: 一个很好的入门库,很容易用 SVG 快速做很多事情。写得很好,有据可查。大量示例和演示。非常可扩展的架构。非常适合动画。

缺点: 是实际 SVG 标记之上的一层,使得使用 SVG 做更复杂的事情变得困难 - 例如分组(它支持集合,但不支持组)。在编辑现有元素时效果不佳。

jQuery SVG

优点:一个 jquery 插件,如果你已经在使用 jQuery。写得很好,有据可查。大量示例和演示。支持大多数 SVG 元素,允许轻松原生访问元素

缺点:架构不如 Raphael 可扩展。有些事情可以更好地记录(例如配置 SVG 元素)。在编辑现有元素时效果不佳。动画依赖于 SVG 语义 - 这不是很好。

SnapSVG作为 Raphael 的纯 SVG 版本

SnapSVG 是 Raphael 的继任者。它仅在支持 SVG 的浏览器中受支持,并且几乎支持 SVG 的所有功能。

结论

如果您要快速轻松地做某事,那么 Raphael 是一个简单的选择。如果您要做更复杂的事情,我选择使用 jQuery SVG,因为我可以比使用 Raphael 更容易地操作实际标记。如果你想要一个非 jQuery 的解决方案,那么 SnapSVG 是一个不错的选择。

关于javascript - jQuery SVG 与 Raphael,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/588718/

相关文章:

javascript - Node.js:在写入之前检查文件是否存在

javascript - 使用 jQuery 获取每个图像的自然高度

javascript - 使用 Qr 图像的学生考勤系统包含学生 ID

jQuery data() 与 attr(data)

Jquery 2 Clicks 函数 Animate

java - 将 SVG 转换为 PDF

javascript - style.top 和 style.left 不工作

javascript - 如果已经更改,如何通过类名多次设置检查单选字段

javascript - 当光标位于拉斐尔中的另一个图像上时,如何防止鼠标悬停事件在图像上失去焦点?

python - SVG 路径操作