不使用vivus.js填写SVG

时间:2016-05-05 05:36:31

标签: javascript jquery svg vivus

嘿伙计们,我使用vivus.js SEE HERE 进行了以下SVG绘制动画,svg如下:

<style type="text/css">
  .st0 {
    fill: transparent;
    stroke: #020000;
    stroke-miterlimit: 10;
  }

</style>

<path id="XMLID_3_" class="st0" d="M-0.5,3.5H19c0,0,1.5-0.1,1.5,1.6V77c0,0,1,1.1,2,0V4c0,0,0-1.5,1.4-1.3l20.4,0c0,0,8,0.1,12,8.7
                S54.9,31.6,42,32.9l0.1,2.8c0,0,20.8,0.5,20.1,19.8c0,0-0.1,16.5-19.6,19.5v3c0,0,14.5-0.3,19-10.4c0,0,13-22.6-10-32.9V34
                c0,0,9.8-5.3,9.1-15.6c0,0,0.5-8.8-7.4-15l8.1-0.1l0.4,38L62,75.9c0,0,1.6,1.2,3.2-0.1s0-73.3,0-73.3h22.3V76c0,0,3.1,2.1,4.3-0.1
                s0-73.4,0-73.4H104c0,0,9.5,1.8,9.5,11.1V76c0,0,1.6,2.1,3.5,0s0-66.1,0-66.1s-2.5-9.4-16-9.4H-0.5V3.5z" />

我正在使用以下JS来动画svg:

new Vivus('svglogo', {duration: 200} , function() {
    $('#svglogo st0').attr({'fill' : '#020000'})
});

现在绘图完成后我想将填充添加到徽标中,所以我在回调函数中有以下内容:

$('#svglogo st0').attr({'fill' : '#020000'})

但这确实似乎没有用,有人可以告诉我这里我做错了什么吗?为什么填充不适用?绘图动画完成后,我真的很想应用填充。

1 个答案:

答案 0 :(得分:1)

CSS样式设置的fill属性会覆盖fill属性。你应该使用

$('#svglogo st0').css({'fill' : '#020000'})