JavaScriptによるDOM操作で、複数画像のマウスオーバーイベント時に画像を入れ替える方法。
jQueryを使って作る方法については、「jQueryを使い、マウスオーバーで画像を入れ替える(複数画像対応)」のページへ。
実装例
実装例(サンプル)の動作について
- 各画像にマウスのカーソルを合わせると、各画像を入れ替える。
- 各画像からマウスのカーソルを外すと、元の画像に戻す。
ソースコード
JavaScript
<script type="text/javascript">
var $sampleImgs = [ 'sampleImg1', 'sampleImgRed', 'sampleImgBlue' ];
var $changeImgSettings = {
sampleImg1: {
onmouseover: "sampleA1.png",
onmouseout: "sampleA2.png",
},
sampleImgRed: {
onmouseover: "sampleB1.png",
onmouseout: "sampleB2.png",
},
sampleImgBlue: {
onmouseover: "sampleC1.png",
onmouseout: "sampleC2.png",
}
};
window.onload = function () {
for( var $i = 0; $i < $sampleImgs.length; $i++ ){
var $sampleImg = document.getElementById( $sampleImgs[$i] );
$sampleImg.src = $changeImgSettings[$sampleImgs[$i]].onmouseout;
$sampleImg.onmouseover = function(){
this.src = $changeImgSettings[this.id].onmouseover;
};
$sampleImg.onmouseout = function(){
this.src = $changeImgSettings[this.id].onmouseout;
};
}
}
</script>
var $sampleImgs = [ 'sampleImg1', 'sampleImgRed', 'sampleImgBlue' ];
var $changeImgSettings = {
sampleImg1: {
onmouseover: "sampleA1.png",
onmouseout: "sampleA2.png",
},
sampleImgRed: {
onmouseover: "sampleB1.png",
onmouseout: "sampleB2.png",
},
sampleImgBlue: {
onmouseover: "sampleC1.png",
onmouseout: "sampleC2.png",
}
};
window.onload = function () {
for( var $i = 0; $i < $sampleImgs.length; $i++ ){
var $sampleImg = document.getElementById( $sampleImgs[$i] );
$sampleImg.src = $changeImgSettings[$sampleImgs[$i]].onmouseout;
$sampleImg.onmouseover = function(){
this.src = $changeImgSettings[this.id].onmouseover;
};
$sampleImg.onmouseout = function(){
this.src = $changeImgSettings[this.id].onmouseout;
};
}
}
</script>
HTML
<div>
<img id="sampleImg1">
<img id="sampleImgRed">
<img id="sampleImgBlue">
</div>
<img id="sampleImg1">
<img id="sampleImgRed">
<img id="sampleImgBlue">
</div>