2015-10-08 14 views
5

qual è la sintassi corretta per fornire un attributo viewBox di un elemento svg utilizzando valori predefiniti? Ho questo:snap svg: cambia viewBox utilizzando i parametri

var mySvg=Snap("#mySvg"); 
    var worldMap=mySvg.select("#worldMap");//worldMap is an svg inside svg 

quando ho provato questo:

worldMap.attr({viewBox:"760, 455, 132, 78"}); 

funziona bene. Tuttavia quando ho provato usando i parametri:

var x=760; 
var y=455; 
var wi=132; 
var hi=78; 

worldMap.attr({viewBox:"x, y, wi, hi"); 

non è successo niente, perché? Credo che il problema sia trovare la sintassi corretta. Ho anche provato:

worldMap.attr({viewBox:x, y, wi, hi); 
worldMap.attr({viewBox:{x, y, wi, hi}); 
worldMap.attr({viewBox:(x, y, wi, hi)); 
worldMap.attr({viewBox:[x, y, wi, hi]); 

niente funziona finora ... qualche suggerimento?

risposta

3

concatena i valori e i separatori (,) come una stringa. Prova questo, dovrebbe funzionare.

worldMap.attr({viewBox:x+","+y+","+wi+","+hi}); 
+0

Non pensarci mai, grazie Holger, è stato utile. – Rickard

2

è anche possibile utilizzare:

worldMap.attr({viewBox:[x,y,wi,hi].join(',')}); 
worldMap.attr({viewBox:[x,y,wi,hi].join(' ')}); 

è più leggibile

Edit: nella mia prima risposta ho usato unendosi con '', ma in MDN esercitazione definizione è con lo spazio char ''

Problemi correlati