嘿,伙计们,我正在查看这 snap.svg演示程序,现在当我检查本地机器上的代码时,如下所示:
var g = Snap();
g.attr({
viewBox: [0, 0, 800, 600]
});
Snap.load("map.svg", function (f) {
function getShift(dot) {
return "t" + (400 - dot.x) + "," + (300 - dot.y);
}
var gr = f.select("g"),
wrd = f.select("#world").attr({fill: "#fff"}),
syd = f.select("#sydney").attr({fill: "red"}),
msk = f.select("#san_francisco").attr({fill: "red"}),
pth = f.select("#flight"),
pln = f.select("#plane"),
top = g.g();
top.attr({
mask: g.rect(100, 0, 600, 600).attr({
fill: "r(.5,.5,.25)#fff-#000"
})
});我只是在张贴我很难理解的代码的初始部分,在代码的上面部分中有以下一行:
top = g.g(); 当然,现在查看代码片段,您可以看到g是snap()的一个实例,但是为什么要使用上面的代码行呢?我正在处理的SVG是这。
我不太理解g.g()代码行。有人能解释吗?
发布于 2016-08-16 07:42:43
奇怪的是,他们的代码有点混乱。首先我不会这么做,我有点惊讶.
var g = Snap();G通常指的是“团体”。但是,Snap()不返回一个组,它返回一个Snap 'svg‘元素。
所以我认为他们通常会这样做,这样读起来更好.
var s = Snap() // its an svg or snap instance 或
var paper = Snap() // its typically known as a paper you draw on因此,它将导致这一行,它的“看”时更正确的阅读.
var top = paper.group() // you can use g and group interchangeably.这意味着向纸张/svg元素中添加一个“group”容器。
https://stackoverflow.com/questions/38958635
复制相似问题