2015-10-08 5 views
5

事前定義された値を使用してsvg要素のviewBox属性を指定する正しい構文は何ですか?私はこれを持っている:snap svg:パラメータを使用してviewBoxを変更する

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

私はこの試みた:

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

それだけで正常に動作します。しかし、私はパラメータを使用してそれを試したとき:

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

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)); 
worldMap.attr({viewBox:[x, y, wi, hi]); 

これまでのところ何か...何か提案がありますか?

答えて

3

は、値とセパレータ(、)を文字列として連結します。これを試してください、それは動作するはずです。

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

それがより読み

編集です:私の最初の答えに、私は「」で入社使用されるが、MDNでチュートリアルの定義は、スペース文字である あなたも使用することができます

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

それを考えると、ホルガーに感謝していません。役立っています。 – Rickard

2

''

関連する問題