如何使用JavaScript创建SVG图形?
所有浏览器都支持SVG吗?
如何使用JavaScript创建SVG图形?
所有浏览器都支持SVG吗?
所以如果你想要在JS中逐步构建SVG内容,不要只使用createElement()
,因为那些不会绘制,改用这个:
var ci = document.createElementNS("http://www.w3.org/2000/svg", "circle");
IE 9现在支持基本的SVG 1.1。虽然是时候了,但是IE9在SVG支持上仍远远落后于Google Chrome和Firefox。
目前所有主要浏览器都支持SVG。在JS中创建SVG非常简单(当前innerHTML=...
相当快速)
element.innerHTML = `
<svg viewBox="0 0 400 100" >
<circle id="circ" cx="50" cy="50" r="50" fill="red" />
</svg>
`;
function createSVG() {
box.innerHTML = `
<svg viewBox="0 0 400 100" >
<circle id="circ" cx="50" cy="50" r="50" fill="red" />
</svg>
`;
}
function decRadius() {
r=circ.getAttribute('r');
circ.setAttribute('r',r*0.5);
}
<button onclick="createSVG()">Create SVG</button>
<button onclick="decRadius()">Decrease radius</button>
<div id="box"></div>