2010-10-04 92 views
0

我有一个带有一些数学方程的SVG文件。可以说我将这个文件包含到我的html文档中。现在我想要做的是在html文档中使用javascript对svg的内容进行一些简单的修改。使用javascript编辑嵌入式SVG文件的内容

的具体例子
我的SVG文件中包含该方程的一个很好的格式化版本:

的x^2 + 2X + 1 = 0

和我想做如下修改:

  1. 色在X^2红
  2. 取出等式中的2 x

谢谢。

+0

美国数学学会厌倦了网上数学标记的不良支持,所以他们聘请了一些程序员。他们的使命,使数学出现_任何意味着必要的。结果是Mathjax。浏览器支持MathML?它使用它。支持SVG?它使用它。支持CSS?它使用它。你所要做的就是直接在HTML中输入LaTeX。请参阅:[链接](http:// http://www.mathjax.org/demos/tex-samples/)。 – 2014-03-29 19:45:09

回答

1

您需要做的是将自己附加到SVG图像的加载事件上。有一个很好的SVG jQuery Plugin为你做的(以及更多):

你还应该看看David Dailey在Javascript animating SVGs上的优秀资源。

+0

谢谢。这正是我所要求的。尽管我发现了一个更简单的解决方案来编写我的数学方程。我只是将我的latex-equations转换成png。然后使用Raphaël将它们添加到画布上。当我想改变我的公式时,我只是用一个新的PNG文件更新图像。这个解决方案需要很少的编码,但是以加载大量png文件为代价。 – Michael 2010-10-05 11:43:37

+0

我总是喜欢需要较少编码的解决方案。如果您的问题确实是关于数学方程式,您还应该阅读“MathML”。最近的浏览器支持MathML - IE除外。 – 2010-10-05 11:54:09

0

如果你想要交互式数学方程,那么你可能想看看JSXGraph

+0

我目前只是需要显示方程本身,不过谢谢:) – Michael 2010-10-05 11:47:28

+0

啊,我的不好:)误解你的问题,以为你正在显示该函数的情节。假设你的方程是文本,只需在你想要的部分周围包装一个tspan元素,例如,g' x^2'。为了从等式中“删除”一个部分,假设这意味着你想暂时隐藏它,你可以在2X部分使用'display =“none”'(如果需要,再次将它包装在tspan中)。 – 2010-10-05 13:19:46

0

Clippy
它看起来像你想显示的数学方程作为SVG。
看看MathJAX

http://docs.mathjax.org/en/latest/output.html

目前,MathJax可以通过三种方式呈现数学:

使用HTML与CSS的奠定了数学,
使用SVG到布置数学,
或使用浏览器的原生MathML支持。