如何使用Snap.svg为​​stroke-dasharray设置动画

时间:2014-07-09 10:10:23

标签: javascript svg snap.svg

我尝试使用Snap.svg为​​stroke-dasharray设置动画,但没有让它工作:没有任何反应。目标是将直线设置为虚线。

SVG

<svg>
    <line fill="none" stroke="#008D36" stroke-width="2" stroke-miterlimit="10" x1="175" y1="153" x2="175" y2="21" id="Line"/>
</svg>

CSS

line {
    stroke-dasharray: 0,0;
}

的Javascript

$(function() {
    var s = Snap('svg');
    var l = s.select('#Line');
    l.animate({'stroke-dasharray':'1,20'}, 500);
});

看到这个小提琴:http://jsfiddle.net/u4pxW/5/

1 个答案:

答案 0 :(得分:4)

这取决于你的目的是什么,但你应该能够为它制作动画。有几种不同的动画制作方法,也许对于这个具体的例子,我会试试Snap.animate ......

var s = Snap('svg');
var l = s.select('#Line');

Snap.animate(0,20, function( value ) {
    l.attr({ 'stroke-dasharray': '1,' + value});
}, 2000);

jsfiddle