このコードでは、要素内の各<area>
タグにロールオーバー効果をバインドすることになっています。<map>
function initLinks(webrt) {
var areas = document.querySelectorAll("map#streetmap > area");
var links = new Array(areas.length);
for (var i=0; i<links.length; i++) {
links[i] = new Image(786,272);
links[i].src = webrt+"templates/default/sketches/links"+(i+1)+".png";
areas[i].onmouseover=function(){switchLinkImg(webrt+"templates/default/sketches/links"+(i+1)+".png");};
areas[i].onmouseout=function(){switchLinkImg(webrt+"templates/default/sketches/links.png");};
}
}
奇妙なことに、各<area>
onmouseover イベントは、存在しないイメージを読み込もうとします: /templates/default/sketches/links6.png
. i
関数に渡す文字列を取得するのではなく、6 にインクリメントされたこの変数をグローバル変数として保持するのはなぜですか?
これを修正するにはどうすればよいですか?
注: jQuery はありません。