元素 toDefs 并与 Snap.svg 一起使用

element toDefs and use with Snap.svg

我不知道如何在 <defs>use svg 中创建元素。

我尝试类似的方法:

var s = Snap('#drawing');
var c1 = s.circle(ww / 2, wh / 2, 100).attr('id','c1').toDefs(); // in <defs>

之后
var cc = c1.use(); // in defs not in svg root

这应该大致可行,我也刚刚附加了一个例子...

var s = Snap(800,800);

var c1 = s.circle(100,100, 100).attr('id','c1').toDefs(); // in <defs>
var cc = s.append( c1.use() );

test link

确保你也有最新的 snap 版本 0.3.0,因为我认为旧版本中的 defs 存在错误。

不久前我还为此 here 为 Snap 制作了一个页面,这可能有助于了解它在其他地方的使用情况。