我想在变量中存储一个已加载的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转换我加载的对象,或隐藏它......但我不知道它是如何存货的?
答案 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>