0

我正在尝试使用网络动画/JS(但不是 CSS!)来转换 SVG。

无法transform: rotate(10)工作——不知道为什么。

在示例中playerT(scale) 和playerT3(strokeWidth) 很好, playerT2似乎没有做任何事情——为什么?

<svg width="400" height="400"  style="border:1px solid #00f"> 
<path id="triangle" d="M0,0L30,30L50,10z" stroke="#f00" stroke-width="3" />
<script type="text/ecmascript">
  <![CDATA[
var triangle=document.getElementById("triangle");
var playerT=triangle.animate(
    [{transform: 'scale(1)'},
     {transform: 'scale(5)'}],
      {duration:1000, delay:0,iterations: Infinity});

var playerT2=triangle.animate(
    [{transform: 'rotate(10)'},
     {transform: 'rotate(20)'}],
      {duration:1000, delay:0,iterations: Infinity});

var playerT3=triangle.animate(
    [{strokeWidth:3},
     {strokeWidth:0}],
      {duration:1000, delay:0,iterations: Infinity});
]]>
</script>
</svg>

JSFiddle 在这里: https ://jsfiddle.net/45cbhLqL/

PS:我可以使用转换矩阵(如果必须的话)吗?

4

1 回答 1

1

您必须在您的代码正在运行的旋转函数中指定单位(度数、弧度等):https ://jsfiddle.net/45cbhLqL/1/

var playerT=triangle.animate(
    [{transform: 'rotate(10deg)'},
     {transform: 'rotate(20deg)'}],
      {duration:1000, delay:0,iterations: Infinity});
于 2016-03-05T15:56:15.450 回答