Snap.svg加载svg文件并对其进行操作

时间:2015-03-21 16:44:17

标签: svg snap.svg

我想在变量中存储一个已加载的svg文件,以便稍后使用snap.svg对其进行操作。

我可以加载一个文件,在加载函数中操作它,但之后?

var _perso = Snap.load("svg/perso1.svg", function(f) {
    var g = f.select("g");
    g.transform("r45,650,200");
    s.append(g);
});
console.log(_perso); // undefined !!!

我想,例如,稍后用buttom转换我加载的对象,或隐藏它......但我不知道它是如何存货的?

1 个答案:

答案 0 :(得分:0)

Snap.load()不返回任何内容,您必须在回调中定义全局变量。

var _perso=Snap.load("http://upload.wikimedia.org/wikipedia/commons/b/b0/NewTux.svg", function(f) {
    var g = f.select("g");
    g.transform("r45,650,200");
//    s.append(g);
    _perso=g;
});
setTimeout(function(){console.log(_perso)}, 1000); // defined !!!
<script src="https://cdnjs.cloudflare.com/ajax/libs/snap.svg/0.3.0/snap.svg-min.js"></script>
<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js">{startOpened: true,}</script>