Snap svg加载内部加载

Snap svg load inside load

本文关键字:加载 内部 svg Snap      更新时间:2023-09-26

我试图将一个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
    });
)};

为什么我不能在第一个函数中附加path ?对不起,我的英语不好。

Snap。Load是异步的,所以你不能确定它需要多长时间才能完成,这就是为什么有回调函数。

如果您只在第一个函数中运行append,那么第二次加载可能在它运行时还没有完成。所以它需要在第二个函数的回调中。