Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
191
rated 0 times [  196] [ 5]  / answers: 1 / hits: 49191  / 12 Years ago, tue, april 10, 2012, 12:00:00

I'm trying to alter an SVG elements viewbox in JavaScript. Basically, I'm drawing a binary search tree, and when it gets too wide, I want to alter the viewbox to zoom out so that the tree fits in the window. I'm currently using:



if(SVGWidth>=1000){
var a = document.getElementById('svgArea');
a.setAttribute(viewbox,0 0 + SVGWidth + 300);
}


The HTML is:



<svg id=svgArea xmlns=w3.org/2000/svg; xmlns:xlink=w3.org/1999/xlink; width=1000 height=300 viewBox=0 0 1000 300>


I've also tried using setAttributeNS('null',...) but that didn't seem to work either. One strange thing I've noticed is that when I alert(a) it gives [object SVGSVGElement] which seems strange. Any help is appreciated.


More From » svg

 Answers
8

It would be good to see the context of the svg, but the following worked for me with a pure SVG document:



shape = document.getElementsByTagName(svg)[0];
shape.setAttribute(viewBox, -250 -250 500 750);


Maybe it's because viewBox is case-sensitive?


[#86341] Sunday, April 8, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
madalynn

Total Points: 342
Total Questions: 95
Total Answers: 106

Location: Turkmenistan
Member since Sat, Apr 16, 2022
2 Years ago
;