画像に対話機能や動きを加える。
画像とスクリプトを分離する書き方
<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);
}
|
|