我试图将一个svg加载到另一个svg中,并使用jquery将第二个svg元素追加到第一个。
$( document ).ready(function() {
var s = Snap("#svgmain");
var g = s.group();
Snap.load("SVGFILES/3k1e-test.svg",function(lf)
{
g.append(lf);//Added #svg3049 to #svgmain>g
Snap.load("SVGFILES/info_msg.svg",function(lf_info_msg){
g.append(lf_info_msg);//Added #svg2>path to #svgmain>g
$("#svgmain > g > svg#svg3049 > g").append($("#svgmain > g > svg#svg2 > g"));//OK
});
//trying to append path from second svg element to first
$("#svgmain > g > svg#svg3049").append($("#svgmain > g > svg#svg2 > g"));//NOT OK
});
)};
为什么我无法在第一个函数中追加路径? 抱歉英文不好。
答案 0 :(得分:0)
Snap.load是异步的,因此您无法确定完成所需的时间,这就是回调函数的原因。
如果你只是在第一个函数中运行追加,那么第二个加载可能在它运行时没有完成。所以它需要在第二个函数的回调中。这样你就知道两个文件都已完成加载。