画像に対話機能や動きを加える。
画像とスクリプトを分離する書き方
<script type="text/ecmascript" xlink:href="スクリプトファイルURL" />
スクリプトのタイプ。
スクリプトファイルの場所をURLで指定する。
右下の丸及び四角をクリックすると、同じ形をしたほかの図形と共に色が変わります。
イベントリスナーを使用することにより、SVG上のスクリプトに関する記述は最小限にしています。
<script type="text/ecmascript" xlink:href="svgman_script_01.js" /> <path id="wc" d="M 12,0 A 12,12 0 1 1 -12,1.4695276e-15 A 12,12 0 1 1 12,-2.9390552e-15 z" transform="matrix(1.0833333,0,0,1.0416667,331,307.66667)" /> <use xlink:href="#wc" x="0" y="0" transform="translate(-79.5,-255)" /> <use xlink:href="#wc" x="0" y="0" transform="translate(-259.5,-30)" /> <rect id="cs" width="24" height="24" x="318" y="329" /> <use xlink:href="#cs" x="0" y="0" transform="translate(-191,-191)" /> <use xlink:href="#cs" x="0" y="0" transform="translate(-40,-163)" /> |
|
svgman_script_01.js var c_sw_on = "on"; var c_sw_off= "off"; var g_wc_sw = c_sw_off; var g_cs_sw = c_sw_off; var g_wc_style =""; var g_cs_style =""; addEventListener("load", svgonload, false) function svgonload(evt) { wc_sw=document.getElementById("wc"); wc_sw.addEventListener("click", wc_click, false); cs_sw=document.getElementById("cs"); cs_sw.addEventListener("click", cs_click, false); g_wc_style=wc_sw.getAttribute("style"); g_cs_style=cs_sw.getAttribute("style"); } function wc_click(evt) { var w_fill =""; var w_wc =""; if (g_wc_sw == c_sw_on) { g_wc_sw = c_sw_off; w_fill = g_wc_style; } else { g_wc_sw = c_sw_on; w_fill = "fill:blue"; } w_wc = evt.target; w_wc.setAttribute ("style",w_fill); } function cs_click(evt) { var w_fill =""; var w_cs =""; if (g_cs_sw == c_sw_on) { g_cs_sw = c_sw_off; w_fill = g_cs_style; } else { g_cs_sw = c_sw_on; w_fill = "fill:blue"; } var w_cs = evt.target; w_cs.setAttribute ("style",w_fill); } |