snap.load()无法正确加载多个svgs

时间:2014-01-16 09:31:50

标签: javascript html svg snap.svg

Snap.load()内部如何加载svgs。如果在svgs数组上迭代运行,脚本会显示绑定的数组索引。如果以递归方式运行,则图像的顺序会混乱。虽然一个接一个装载工作正常。这是我试过的: http://jsfiddle.net/nahid/C3q2r/

p.s:注释掉看到行为的必要部分。

1 个答案:

答案 0 :(得分:1)

我最初想的是另一种方式(在谷歌小组中发布了答案),但我认为这个解决方案有点整洁,如果它适合你,所以把它作为答案...

为了使它们按顺序排列,您可以在完成上一次加载时调用下一次加载,这是我认为您尝试做的。

jsfiddle here http://jsfiddle.net/C3q2r/4/

    var handlr = function( i ){
        if(i >= svg_array.length) return;

        var name = svg_array[i];
        Snap.load(name,function(f){

            var g = f.select('g');
            footpaper[i].append(g.clone());   
            }, handlr( i + 1)); 

    }
    handlr(0);