如何让Chrome重新绘制动态添加的SVG内容?

8 浏览
0 Comments

如何让Chrome重新绘制动态添加的SVG内容?

我已经动态地将圆形元素添加到了在iFrame中显示的SVG中。Chrome没有显示新的元素,还没有尝试过FF。我需要调用某种重绘/刷新吗?第一个圆实际上在SVG文档中,其余的来自脚本。

创建元素的JavaScript代码:

function RandomNumber(min, max) {
    var r;
    r = Math.floor(Math.random() * (max - min + 1)) + min;
    return r;
}
var svg = document.getElementById("svgFrame").contentDocument;
for (var i = 0; i < 99; i++) {
    var n = svg.createElement("circle");
    n.setAttribute("cx" , RandomNumber( 0 , 200) );
    n.setAttribute("cy" , RandomNumber(0, 200) );
    n.setAttribute("r"  , RandomNumber(5, 35) );
    svg.documentElement.appendChild(n);
}

请问我需要调用某种重绘/刷新吗?

0