1

我不知道我错过了什么。SVG 动画在 chrome 中显示正常,但虽然我在 ie9 和 firefox 中看到了图像,但我看不到动画。

我已经从 Corel Draw x5 导出了 svg 文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"        "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Creator: CorelDRAW -->
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="100%" height="100%" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
viewBox="0 0 25.4 2.64582"
 xmlns:xlink="http://www.w3.org/1999/xlink">
 <defs>
  <style type="text/css">
   <![CDATA[
    .str0 {stroke:#898989;stroke-width:0.05}
    .fil0 {fill:none}
   ]]>
  </style>
 </defs>
 <g id="Capa_x0020_1">
    <path class="fil0 str0" d="M0.10261 2.04656c0.08134,0 0.25217...
    />

然后我添加了动画:

<path class="fil0 str0" d="M0.10261 2.04656c0.08134,0 0.25217...
    stroke-dasharray="">
  <animate id="first" attributeName="stroke-dashoffset" from="" to="0" dur="10s" begin="0s"
  onload="var length = parentNode.getTotalLength();
                   parentNode.setAttribute('stroke-dasharray',length+','+length);
                   this.setAttribute('from',length)" />
  </path>

代码可见jsfiddle http://jsfiddle.net/calamar888/WsxHs/

非常感谢!

PS 1:不得不说我已经在寻找答案,但到目前为止我找不到任何可以解决我问题的东西。

PS 2:Firebug 控制台不显示任何内容

4

1 回答 1

5

IE9 不支持动画,Firefox 只在<svg>元素上触发 onload 事件,因此您必须将 onload 代码工作移出根<svg>元素。

于 2013-02-21T19:02:05.937 回答