動的画像の onmouseover および onmouseout 属性の変更に問題があります。私がそれを機能させたい方法は、画像の上にマウスを置くたびに画像を変更する必要があり、マウスを離すと元の画像に変更する必要があるということです。画像を選択するたびに、その画像は、マウスを画像上で動かしているときに表示された画像に変更する必要があります。他の画像を選択すると、同じプロセスを実行する必要がありますが、変更された前の画像を元の画像に戻す必要があります。
上記のすべてを達成しましたが、私の問題は、複数の画像を選択して、以前に選択した画像の上にマウスを置くと、それらの画像が変更されないことです (onmouseover 属性はそれらに対して機能しなくなります)。
<script language="javascript">
function changeleft(loca){
var od=''
var imgs = document.getElementById("leftsec").getElementsByTagName("img");
for (var i = 0, l = imgs.length; i < l; i++) {
od=imgs[i].id;
if(od==loca){
imgs[i].src="images/"+od+"_over.gif";
imgs[i].onmouseover="";
imgs[i].onmouseout="";
}else{
od = imgs[i].id;
imgs[i].src="images/"+od+".gif";
this.onmouseover = function (){this.src="images/"+od+"_over.gif";};
this.onmouseout = function (){this.src="images/"+od+".gif";};
}
}
}
</script>
<div class="leftsec" id="leftsec" >
<img id='wits' class="wits1" src="images/wits.gif" onmouseover="this.src='images/wits_over.gif'" onmouseout="this.src='images/wits.gif'" onclick="changeleft(this.id)" /><br />
<img id='city' class="city1" src="images/city.gif" onmouseover="this.src='images/city_over.gif'" onmouseout="this.src='images/city.gif'" onclick="changeleft(this.id)" /><br />
<img id='organise' class="city1" src="images/organise.gif" onmouseover="this.src='images/organise_over.gif'" onmouseout="this.src='images/organise.gif'" onclick="changeleft(this.id)" /><br />
<img id='people' class="city1" src="images/people.gif" onmouseover="this.src='images/people_over.gif'" onmouseout="this.src='images/people.gif'" onclick="changeleft(this.id)" /><br />
</div>