Javascript 在SVG平移缩放中搜索SVG
因此,我使用svg平移缩放来显示动态加载的svg元素。加载元素的代码类似于这里的示例:(要了解我的意思,请查看源代码) 我试图做的是在SVG文档中搜索与特定查询匹配的文本标记。我找到了一个类似于该部分的解决方案的示例,但是我找不到任何关于如何在SVG pan zoom中访问SVG内容的内容 恐怕我没有任何代码。。。我已经做了很长一段时间的反复试验。基本上,我只是想弄清楚如何访问SVG内容,以便搜索它Javascript 在SVG平移缩放中搜索SVG,javascript,html,svg,svgpanzoom,Javascript,Html,Svg,Svgpanzoom,因此,我使用svg平移缩放来显示动态加载的svg元素。加载元素的代码类似于这里的示例:(要了解我的意思,请查看源代码) 我试图做的是在SVG文档中搜索与特定查询匹配的文本标记。我找到了一个类似于该部分的解决方案的示例,但是我找不到任何关于如何在SVG pan zoom中访问SVG内容的内容 恐怕我没有任何代码。。。我已经做了很长一段时间的反复试验。基本上,我只是想弄清楚如何访问SVG内容,以便搜索它 谢谢 我认为这个答案很有用: 例如,假设您要查找tspan中包含的字符串(因为您没有提供更多详细
谢谢 我认为这个答案很有用: 例如,假设您要查找tspan中包含的字符串(因为您没有提供更多详细信息),那么您可以拥有一个搜索框,当它更改时,将调用以下函数:
function searchTerm() {
let term = this.value;
var tspans = document.getElementsByTagName("tspan");
var found;
for (var i = 0; i < tspans.length; i++) {
if (tspans[i].innerHTML.includes(term)) {
found = tspans[i];
break;
}
}
let position = found.parentNode.parentNode.getAttribute("transform").split("translate(")[1].split(")")[0];
let posX = position.split(",")[0];
let posY = position.split(",")[1];
panZoom.zoom(1);
panZoom.pan({x:0,y:0});
var realZoom= panZoom.getSizes().realZoom;
panZoom.pan
({
x: -(posX*realZoom)+(panZoom.getSizes().width/2),
y: -(posY*realZoom)+(panZoom.getSizes().height/2)
});
}
函数searchTerm(){
设term=this.value;
var tspans=document.getElementsByTagName(“tspan”);
var发现;
对于(变量i=0;i
正如您所见,此代码是针对特定情况编写的,但您可以根据需要获得该职位。我认为此答案非常有用: 例如,假设您要查找tspan中包含的字符串(因为您没有提供更多详细信息),那么您可以拥有一个搜索框,当它更改时,将调用以下函数:
function searchTerm() {
let term = this.value;
var tspans = document.getElementsByTagName("tspan");
var found;
for (var i = 0; i < tspans.length; i++) {
if (tspans[i].innerHTML.includes(term)) {
found = tspans[i];
break;
}
}
let position = found.parentNode.parentNode.getAttribute("transform").split("translate(")[1].split(")")[0];
let posX = position.split(",")[0];
let posY = position.split(",")[1];
panZoom.zoom(1);
panZoom.pan({x:0,y:0});
var realZoom= panZoom.getSizes().realZoom;
panZoom.pan
({
x: -(posX*realZoom)+(panZoom.getSizes().width/2),
y: -(posY*realZoom)+(panZoom.getSizes().height/2)
});
}
函数searchTerm(){
设term=this.value;
var tspans=document.getElementsByTagName(“tspan”);
var发现;
对于(变量i=0;i
正如您所看到的,这段代码是针对特定情况编写的,但是您可以根据需要获得该职位