Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用JavaScript操作SVG路径坐标_Javascript_Svg - Fatal编程技术网

用JavaScript操作SVG路径坐标

用JavaScript操作SVG路径坐标,javascript,svg,Javascript,Svg,我有一个svg路径,在“d”属性中有以下几点。这有一种方法可以让我只针对“L25 0”中“d”中的一个坐标数,比如0,在java脚本中进行操作。如果是这样,这个语法会是什么样子?我希望能够访问其中一个坐标编号,以便我可以增加它来设置路径动画 函数NavHalf(){ var arrow=document.getElementById(“arrowUp”); setAttribute('d','M0 25 L25 0 L50 25'); } 正如Michaels所评论的那样。实际上,没有任何基于

我有一个svg路径,在“d”属性中有以下几点。这有一种方法可以让我只针对“L25 0”中“d”中的一个坐标数,比如0,在java脚本中进行操作。如果是这样,这个语法会是什么样子?我希望能够访问其中一个坐标编号,以便我可以增加它来设置路径动画

函数NavHalf(){
var arrow=document.getElementById(“arrowUp”);
setAttribute('d','M0 25 L25 0 L50 25');
}

正如Michaels所评论的那样。实际上,没有任何基于DOM的方法可以直接访问和操作路径定义中的一个点

字符串操作是您所能做的一切

功能导航半(x,y){
var arrow=document.getElementById(“arrowUp”);
setAttribute('d','m0l'+x+','+y+'L50');
}
位置1
位置2
位置3

SVG1.1有一个DOM接口——PathSegList,您可以使用它索引到各个路径元素——但我认为这在Chrome中被删除了,通常不推荐使用。问题看起来与您的问题相似,前两个答案似乎包含了您需要的信息。您可以使用数组保存坐标(
[“M0 25”、“L25”,…])
),以便于管理,然后使用
.join()
若要将其解析回字符串,请使用而不是
setAttribute
@enxaneta此处无需使用setAttributes()。