父类
SVG.Parent
SVG.Parent是所有可以包含其他元素的元素的基本包装。SVG.Parent直接从所有SVG.js类的最底层继承:SVG.Element。
SVG.Container
SVG.Container向父继承堆栈添加了另一个级别。SVG.Parent提供了一些低级方法,比如add()、remove()和has(),如果您想添加自己的方法,可以也应该使用SVG.Container。这样SVG.Parent原型就保持了干净。因此,在实现自己的父元素时,应该始终继承SVG.Container。
父类继承堆栈:SVG.Element > SVG.Parent > SVG.Container.
SVG.Doc
The main SVG.js initializer function creates a root svg node in the given element and returns an instance of SVG.Doc.
js初始化函数在给定元素中创建一个根SVG节点,并返回一个SVG.Doc实例。
SVG()
返回从SVG.Container继承的SVG.Doc
var draw = SVG('drawing')
注意:第一次调用SVG()时,将创建第二个不可见的<SVG>。这是我们的解析器如常见问题解答中所述
SVG.Nested
将SVG文档相互嵌套。
nested()
SVG.Container上的构造函数
返回从SVG.Container继承的SVG.Nested
嵌套的SVG节点具有与主顶级SVG节点完全相同的功能:
var nested = draw.nested()
var rect = nested.rect(200, 200)
SVG.G
如果要将一组元素转换为一组元素,则分组元素可能很有用。组中的所有元素,保持其相对于所属组的位置。
注意:组没有自己的几何图形,它是从其内容继承的。因此,组不会侦听x、y、width和height属性。如果这正是您要查找的,请改用nested()SVG。
group()
SVG.Container上的构造函数
返回从SVG.Container继承的SVG.G
组具有与根SVG文档相同的所有元素方法:
var group = draw.group()
group.path('M10,20L30,40')
SVG文档中的现有元素也可以添加到一个组中:
group.add(rect)
SVG.Symbol
SVG.Container上的构造函数
返回从SVG.Container继承的SVG.Symbol
与group元素不同的是,symbol元素是一个容器元素。符号和组之间的唯一区别是符号不会呈现。因此,symbol元素与use理想的结合方式为:
var symbol = draw.symbol()
symbol.rect(100, 100).fill('#f09')
var use = draw.use(symbol).move(200, 200)
SVG.Defs
<defs>元素是引用元素的容器。<defs>节点的后代不会直接呈现。<defs>节点位于主<svg>文档中,可以使用defs()方法进行访问。
defs()
SVG.Container上的构造函数
返回从SVG.Container继承的SVG.Defs
var defs = draw.defs()
defs也可以通过doc()方法在任何其他元素上使用:
var defs = rect.doc().defs()
defs节点的工作方式与groups完全相同。
SVG.A
创建将在所有子元素上激活的超链接。
link()
SVG.Container上的构造函数
返回从SVG.Container继承的SVG.A
超链接或<a>标签创建一个容器,该容器在所有子级上启用链接:
var link = draw.link('http://svgdotjs.github.io/')
var rect = link.rect(100, 100)
可以使用to()方法更新链接url:
link.to('http://apple.com')
此外,link元素还有一个show()方法来创建xlink:show属性:
link.show('replace')
以及用于创建target属性的target()方法:
link.target('_blank')
Elements can also be linked the other way around with the linkTo() method:
元素也可以通过linkTo()方法进行反向链接:
rect.linkTo('http://svgdotjs.github.io/')
或者,可以传递一个块而不是URL,以获取链接元素上的更多选项:
rect.linkTo(function(link) {
link.to('http://svgdotjs.github.io/').target('_blank')
})