2016-08-15 43 views
0

嗨我是经历THIS snap.svg演示,现在,当我在我的本地机器上检查代码,它看起来像如下:什么是克()中捕捉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是THIS。我不太了解代码行g.g()。有人可以解释吗?

+1

http://snapsvg.io/docs/#Paper.g – j08691

+0

是的,看着那些文档 - 'g()'是一个功能,使一个组 –

回答

1

奇怪的是他们的代码有点混乱。首先我不会这样做,我有点惊讶...

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元素中添加“组”容器。

+0

真棒好友谢谢! –