如何在 javascript 代码中实现 html 元素?

How to implement a html element inside a javascript code?

我正在尝试设计示例网页,但遇到了一些 svg 问题....

我创建了一个 svg 圆圈,上面有一条线,它会在圆圈内旋转。这是示例代码。

<?xml version="1.0" encoding="iso-8859-1"?>

<svg width="100%" height="100%">
<circle cx="200" cy="200" r="100" stroke="black" stroke-width="4" fill="black" />
<g transform="translate(200,200)">
<line x1="0" y1="0" x2="100" y2="0" style="stroke:rgb(255,255,255);stroke-width:2">
<animateTransform attributeName="transform"
                        attributeType="XML"
                        type="rotate"
                        from="25" to="360" dur="100s"/>
</line>
</svg>

在上面的示例代码中,'line' 将在页面启动时立即开始旋转,但我希望在按下 START 按钮后旋转该行,如下所示...

<input type="button" value=" START " onclick="start()" class="control-menu-top-btn" id="green-btn">

<script language="javascript" type="text/javascript">
function start()
{
  .. ?
}
</script>

beginElement 方法将启动一个动画。在标记中将 begin 属性设置为 indefinite 将在 javascript 启动它之前从 运行 停止它。

html, body {
  width: 100%;
  height: 100%;
}
<input type="button" value=" START " onclick="start()" class="control-menu-top-btn" id="green-btn">

<script>
function start()
{
  document.getElementById("transform").beginElement();
}
</script>
<svg width="100%" height="100%">
<circle cx="200" cy="200" r="100" stroke="black" stroke-width="4" fill="black" />
<g transform="translate(200,200)">
<line x1="0" y1="0" x2="100" y2="0" style="stroke:rgb(255,255,255);stroke-width:2">
<animateTransform id="transform" attributeName="transform"
                        attributeType="XML"
                        type="rotate"
                        from="25" to="360" dur="100s" begin="indefinite" />
</line>
</g>
</svg>