移動させる


動作ブラウザ 【 IE:4.0  NN:3.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows × - × × - × -
Macintosh × × × × - × × - - ×
UNIX - - - - - × × × × × - - -
Dreamcast - - - - - - - - - - × × -

ポイント svgObj = document.theSVG.getSVGDocument(); svgObj.getElementById("myText").setAttribute("transform","translate("+x+" "+y+")");
説  明 SVG内で移動させる文字のエレメントにidで名前を付けます。付けた名前はgetElementById("名前")で指定します。このエレメントの移動はsetAttribute("transform",移動量)で指定します。移動量ですが、これは数値ではなく「translate(10 30)」のような文字列で渡す必要があります。最初の10がX座標、30がY座標の移動量(オフセット)になります。
サンプル <html> <head> <title>移動させる</title> <script language="JavaScript"><!-- function setSVGTranslate(x,y) { svgObj = document.theSVG.getSVGDocument(); svgObj.getElementById("myText").setAttribute("transform","translate("+x+" "+y+")"); } // --></script> </head> <body> <embed src="test.svg" width="320" height="240" name="theSVG"><br> <form name="myFORM"> <input type="button" value="100 20" onClick="setSVGTranslate(100, 20)"><br> <input type="button" value="-50 -40" onClick="setSVGTranslate(-50,-40)"><br> </form> </body> </html>
補足説明 ここで使用したSVGは以下の通りです。 <?xml version="1.0"?> <svg> <text id="myText" x="90" y="120" style="font-size:24pt">OpenSpace</text> </svg>

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA