Snap SVG迭代Object以构建Animate属性

时间:2015-06-16 19:50:32

标签: javascript svg snap.svg

我正在寻找一个涉及Snap SVG的函数,它允许我传入一个对象或值数组,通过它我可以迭代来构建动画属性。

例如,如果我可以通过: [transform:'t100,100',transform:'r10,10,10']

进入这个:

animateElementWithSnap: function(element, parentSVG, animationValues, duration, easing) {
        var s = Snap.select("#"+ parentSVG),
            theElement = s.select("#"+ element);

        theElement.animate({
           // Iterate over Object.keys(animationValues)
           transform: 't100,100',
           transform: 'r10,10,10'
        }, duration, easing);
    }

1 个答案:

答案 0 :(得分:3)

您不需要迭代一系列属性。您实际上可以将animationValues创建为对象。

鉴于您设置了这样的值:

var animationValues = {
    transform: 't100,100',
    transform: 'r10,10,10'
};

然后你可以像这样改变你的动画电话:

animateElementWithSnap: function(element, parentSVG, animationValues, duration, easing) {
    var s = Snap.select("#"+ parentSVG),
        theElement = s.select("#"+ element);

    theElement.animate(animationValues, duration, easing);
};