2016-03-05 46 views
0

我试图使用网页动画/ JS(但不是CSS)来转换SVG`player.animate([{变换:?! “旋转(10)”`

可以”牛逼得到transform: rotate(10)工作 - 不知道为什么

在这个例子中playerT(规模)和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:我可以用一个变换矩阵,而不是(如果我要)?

回答

1

必须在旋转功能指定单位(度,弧度等) 你的代码是现在的工作:https://jsfiddle.net/45cbhLqL/1/

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