我试图在JavaScript中更改SVG元素视框。基本上,我绘制了一个二叉搜索树,当它变得太宽时,我想要改变视框来缩小视图,以使树适合窗口。我目前使用:使用JavaScript处理SVG视框(无库)
if(SVGWidth>=1000){
var a = document.getElementById('svgArea');
a.setAttribute("viewbox","0 0 " + SVGWidth + " 300");
}
的HTML是:
<svg id="svgArea" xmlns="w3.org/2000/svg"; xmlns:xlink="w3.org/1999/xlink"; width="1000" height="300" viewBox="0 0 1000 300">
我也使用setAttributeNS试过( '空',...),但似乎没有任何工作。我注意到的一件奇怪的事情是,当我提醒(a)它给出[object SVGSVGElement]时,这看起来很奇怪。任何帮助表示赞赏。
我可以知道你为什么不想使用库吗? – 2012-04-10 08:01:29
我应该添加,SVGWidth可能是一个不好的变量名称,应该只是treeWidth。另外,SVG的html是:
我没有使用库,因为我专注于学习JavaScript。我将在图书馆添加下一个项目,但我认为最好从本机JavaScript开始。 – 2012-04-10 08:02:51