Javascript 如何将转换应用于svg路径元素?
在我的html文件中,我加载一个svg图像并选择其中一个path元素。现在我想旋转它,但我不知道如何旋转。下面的代码不起作用 有人知道怎么做吗 谢谢Javascript 如何将转换应用于svg路径元素?,javascript,svg,Javascript,Svg,在我的html文件中,我加载一个svg图像并选择其中一个path元素。现在我想旋转它,但我不知道如何旋转。下面的代码不起作用 有人知道怎么做吗 谢谢 <!DOCTYPE html> <html> <head> <title>Animate</title> <style> </style> <script src="../js/plugi
<!DOCTYPE html>
<html>
<head>
<title>Animate</title>
<style>
</style>
<script src="../js/plugin/jquery-2.1.4.min.js"></script>
</head>
<body>
<object data="images/steve/steve.svg" type="image/svg+xml" id="steve" width="100%" height="100%"></object>
<script>
var steve = document.getElementById("steve");
steve.addEventListener("load", function() {
var svgDoc = steve.contentDocument;
var right_arm = svgDoc.getElementById("right_arm");
//right_arm.rotate(90); // THIS DOES NOT WORK
},false);
</script>
</body>
</html>
使有生气
var steve=document.getElementById(“steve”);
steve.addEventListener(“加载”,函数(){
var svgDoc=steve.contentDocument;
var right_arm=svgDoc.getElementById(“right_arm”);
//右臂。旋转(90);//这不起作用
},假);
必须直接在SVG元素上设置transform
属性。rotate
方法接受一个必需的参数,该参数是要旋转元素的度数
right_arm.setAttribute('transform','rotate(45)');
您必须在javascript中使用.setAttribute(…)
方法,因为如果要在HTML中直接执行此操作,您将直接为DOM元素本身指定属性:
<rect transform="rotate(45)" ... />
需要注意的是,根据SVG规范,只允许将某些属性添加到SVG元素中。例如,看看适用于rect元素的所有属性。SVG元素不像普通HTML元素那样共享所有CSS和JavaScript功能。有些CSS属性在SVG元素上的工作方式不同,有些则根本不起作用 对于此任务,您可以使用
right\u arm
元素上的transform
属性,并指定旋转。语法如下所示:
rotate(<a> [<x> <y>])
然而,transform
并不能在所有SVG元素上工作。有关这方面的更多信息,我建议查看
right_arm.setAttribute("transform", "rotate(90)");