用JavaScript操作SVG路径坐标
我有一个svg路径,在“d”属性中有以下几点。这有一种方法可以让我只针对“L25 0”中“d”中的一个坐标数,比如0,在java脚本中进行操作。如果是这样,这个语法会是什么样子?我希望能够访问其中一个坐标编号,以便我可以增加它来设置路径动画用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所评论的那样。实际上,没有任何基于
函数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()。