SVG.js父类

父类

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

如果要将一组元素转换为一组元素,则分组元素可能很有用。组中的所有元素,保持其相对于所属组的位置。
注意:组没有自己的几何图形,它是从其内容继承的。因此,组不会侦听xywidthheight属性。如果这正是您要查找的,请改用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')
})
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • SVG.js是一款操作 SVG 和创建 SVG 动画的轻量的js库。本教程使用的 svgjs 版本是 2.7.1 ...
    前端西瓜哥阅读 15,040评论 0 2
  • Data Visualization with D3 D3: SVG中的jQurey 1. Add Documen...
    王策北阅读 884评论 0 2
  • Java基础常见英语词汇(共70个)['ɔbdʒekt] ['ɔ:rientid]导向的 ...
    今夜子辰阅读 3,511评论 1 34
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,700评论 0 7
  • 实际工作中,SVG大多数是用 +<defs></defs>(或者symbol)+ + 的组合来使用的,defs ...
    风之化身呀阅读 7,366评论 1 4

友情链接更多精彩内容