gpt4 book ai didi

javascript - 通过 HTML 对象标签的交互式 SVG

转载 作者:行者123 更新时间:2023-11-28 02:55:26 24 4
gpt4 key购买 nike

我想创建一个交互式 SVG HTML 页面。例如:如果我点击一个矩形,我想显示一个新的 SVG 图像。

因为我的 SVG 文件是分开的,所以我想通过 HTML 对象标记包含它们。

我已经浏览了一段时间的网络,但我无法解决我的 SVG 文件的单个元素以更改它们的属性或添加功能等。

我的 HTML 文件:

<!DOCTYPE html>
<html>
<body>
<object data="svg-test.svg" type="image/svg+xml" id="svg" width="100%" height="100%"></object>

<script>
window.onload=function() {
// Get the Object by ID
var svgObject = document.getElementById("svg");
// Get the SVG document inside the Object tag
var svgDoc = svgObject.contentDocument;
// Get one of the SVG items by ID;
var svgItem = svgDoc.getElementById("svgID");
// Set the colour to something else
svgItem.setAttribute("fill", "lime");
};
</script>


</body>
</html>

SVG 文件:

<svg width="900" height="600"  xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink">

<rect x="100" y="120" width="200" height="350"
style="fill:white;stroke:black;stroke-width:2;fill-opacity:1.0;stroke-opacity:1.0"
id="svgID"/>

</svg>

我也尝试了 getSVGDocument() 而不是使用 contentDocument 但这也没有用。

最佳答案

当没有设置(本地)服务器时,Chrome 似乎无法加载对象。

我试过 Microsoft Edge/IE,问题解决了。我可以访问 SVG 文件中的所有元素。

关于javascript - 通过 HTML 对象标签的交互式 SVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37286600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com