我在 HTML 页面中有一部分 JavaScript,上面写着:
function flashElements() {
var svg = document.getElementById("mysvg").getSVGDocument();
var all = svg.getElementsByTagName("flash");
for (var i=0, max=all.length; i < max; i++) {
if (all[i].flash === "on")
{
all[i].setAttributeNS(null, "fill", "lime");
}
}
}
SVG加载如下:
<object data="alpha.svg" type="image/svg+xml" id="mysvg" width="800" height="600"></object>
这个想法是在一个特定的触发器上调用它,如果任何 SVG 元素具有“flash”的特定属性,那么它们的填充属性将改变颜色。当然,上面的方法不起作用——它在寻找元素,而不是属性。那么我如何遍历所有的 SVG 元素,寻找具有特定属性的任何东西呢?
SVG 具有:
<polygon points="203,20 209,32 205,32 203,28" class="trackPlain" flash="on" />
<polygon points="205,32 209,32 217,48 213,48" class="trackPlain" flash="off" />
实际上我想要做的就是闪烁元素(开/关),但当然 IE 不支持动画。