【问题标题】:`player.animate( [ {transform: "rotate(10)"`?`player.animate( [ {transform: "rotate(10)"`?
【发布时间】:2016-03-06 02:01:29
【问题描述】:

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

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

在示例中playerT(比例)和playerT3(笔划宽度)很好,但是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:我可以改用转换矩阵吗(如果必须的话)?

【问题讨论】:

    标签: javascript svg web-animations ecma


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-03-23
      • 1970-01-01
      • 2015-08-19
      • 1970-01-01
      • 2014-01-18
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      • 2018-06-23
      相关资源
      最近更新 更多