2013-12-11 79 views
2

我必须使用JavaScript旋转三个SVG对象,而不是使用<animation>标记。树顶部的大明星旋转正确,但从其他人中我找不到中心坐标。JS与SVG:围绕其中心旋转SVG元素

这是继星和JS旋转:

star2.setAttribute("transform", "rotate(" + angle + " 2000 200)"); 

,这是SVG:

<defs> 
    <symbol id="stern"> 
     <polygon points="1000 50 1100 310 850 160 1150 160 900 310 1000 50" fill="yellow" /> 
    </symbol> 
</defs> 

<use id="stern2" xlink:href="#stern" transform="translate(500,600) scale(0.5)" onmouseover="rotate2();" onmouseout="stop();" /> 

这里是一个小提琴:

http://jsfiddle.net/F325k/

+0

你的小提琴不工作。 –

回答

2

对于SVG,明确使用第三方库。 SVG是一个简单的JavaScript的痛苦。我的建议:一定要去D3js,我一直在我的工作场所使用它一年,它很棒:动态,良好的社区,辉煌的文档。

看到下面的例子,围绕其中心称为天文馆的旋转圆:Planetarium没有动画的旋转是你想要的。它使用D3定时器,就是这样。

有很多的例子有,所以在这里阅读完整的示例列表:d3js Full list of examples