Sto tentando di modificare una viewbox di elementi SVG in JavaScript. Fondamentalmente, sto disegnando un albero di ricerca binaria, e quando diventa troppo largo, voglio modificare la viewbox per rimpicciolire in modo che l'albero si adatti alla finestra. Attualmente sto usando:Manipolare la viewbox SVG con JavaScript (senza librerie)
if(SVGWidth>=1000){
var a = document.getElementById('svgArea');
a.setAttribute("viewbox","0 0 " + SVGWidth + " 300");
}
L'HTML è:
<svg id="svgArea" xmlns="w3.org/2000/svg"; xmlns:xlink="w3.org/1999/xlink"; width="1000" height="300" viewBox="0 0 1000 300">
Ho anche provato con setAttributeNS ('null', ...), ma che non sembrano funzionare. Una cosa strana che ho notato è che quando allerta (a) dà [oggetto SVGSVGElement] che sembra strano. Qualsiasi aiuto è apprezzato.
si può sapere perché non si desidera utilizzare le librerie? –
Avrei dovuto aggiungere, SVGWidth è probabilmente un nome di variabile errato, dovrebbe essere solo treeWidth. Inoltre, l'html per SVG è:
Non sto utilizzando le librerie perché mi sto concentrando sull'apprendimento di JavaScript. Il mio prossimo progetto aggiungerò delle librerie, ma ho pensato che sarebbe meglio iniziare con JavaScript nativo. –