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

Snap.svg load svg files and manipulate it

我想在变量中存储一个加载的 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 !!!

例如,我想稍后用一个按钮转换我加载的对象,或者隐藏它...但我不知道它的库存如何?

Snap.load() 没有 return 任何东西,你必须在回调中定义一个全局变量。

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>