在snap.svg脚本中使用的add()方法是什么?
What is add() method being used for in snap.svg script?
我刚刚开始使用snap.svg,所以我有下面的代码来加载我的svg:
<script>
window.onload = function () {
// what is the below line of code doing ??
var g = Snap();
g.attr({
viewBox: [0, 0, 800, 600]
});
Snap.load("samsonite.svg", function (f) {
// function getShift(dot) {
// return "t" + (400 - dot.x) + "," + (300 - dot.y);
// }
console.log(f);
var gr = f.select('#outer-most-group'),
top = g.g();
top.add(gr);
});
};
</script>
现在我把代码分解一下:
var g = Snap(); // create an instance of snap.
和
Snap.load("samsonite.svg", function (f) { // Load the SVG using Snap.load()
但是我不能自信地理解下面两行代码:
top = g.g();
top.add(gr); // I don't know what top is at this point but the add()
// method is being used to add gr, which is basically
// the outermost <g> element in the SVG I have.
谁能解释一下上面这两行是干什么用的?尤其是top = g.g()
这条线。 Snap方法g()
创建了一个"group"元素(<g>
),就像g.circle()
将创建一个circle元素一样。所以top
指的是你刚刚创建的group元素。gr
也是一个群元素;它指的是匹配选择器'#outer-most-group'
的元素。所以,top.add(gr)
是从加载的svg文件中添加一个组到您刚刚在snap实例上创建的组。
关于group元素的更多信息:https://developer.mozilla.org/en/docs/Web/SVG/Element/g
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 数组在递归方法中设置为null
- 打破承诺链的好方法是什么
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 使用“;这个“;JavaScript原型方法中的关键字
- 序列化数据属性中对象的最可靠方法
- 在不兼容的接收器上调用的方法Set.prototype.add未定义
- 为什么jQuery add()方法似乎没有返回jQuery对象
- Couchbase on Nodejs - add () 方法的工作原理
- Javascript:未捕获类型错误:引用创建的对象时无法调用未定义的方法“add”
- jQuery: add() performance;有没有更好的方法
- 不能在jquery代码上使用方法('#'+add)
- 无法在JavaScript中编写add方法
- 是否可以在一个集合的add处理程序中调用视图上的方法?
- add方法验证yyyy-dd-mm格式的日期有什么问题?
- Jquery DataTable无法使用table.rows.add方法添加行
- 主干错误,对象add没有方法'bind'
- 在snap.svg脚本中使用的add()方法是什么?
- 在"add"事件上运行方法的Backbone Collection获取:";TypeErr