0

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

ps:注释掉必要的部分以查看行为。

4

1 回答 1

1

我最初是在考虑另一种方式(在 google groups 中发布一个答案),但我认为如果它适合你,这个解决方案会更简洁一些,所以把它作为一个答案......

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

jsfiddle在这里... 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);
于 2014-01-16T12:45:42.350 回答