hover時は、画像の_offを_onに切り替え
currentのクラスが付いた場合は、画像の_offを_currentに切り替えて表示。
【current表示が無い場合のエラー防止 2012_11_21改訂】
JSを読み込みます
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script type="text/javascript" src="js/gnavimg.js"></script>
[gnavimg.js]JavaScript
$(function(){
$(".mod_Gnavi006 li:not(.current) a").each(function(){
var a = $(this);
var img = a.find("img");
var src_off = img.attr("src");
var src_on = src_off.replace(/^(.+)_off(\.[^\.]+)$/,"$1_on$2");
$("<img />").attr("src",src_on);
a.bind("mouseenter focus", function(){
img.attr("src", src_on);
});
a.bind("mouseleave blur", function(){
img.attr("src", src_off);
});
});
});
//current表示
$(function() {
if ($('.mod_Gnavi006 li').hasClass('current')) {
$(".mod_Gnavi006 li.current a img").attr("src",$(".mod_Gnavi006 li.current a img").attr("src").replace(/^(.+)_off(\.[^\.]+)$/,"$1_current$2"));
}
});
HTMl
<div class="mod_Gnavi006"> <ul> <li><a href="#"><img src="img/menu01_off.jpg" width="150" height="45" alt="Menu01" /></a></li> <li><a href="#"><img src="img/menu02_off.jpg" width="168" height="45" alt="Menu02" /></a></li> <li class="current"><a href="#"><img src="img/menu03_off.jpg" width="149" height="45" alt="Menu03" /></a></li> <li><a href="#"><img src="img/menu04_off.jpg" width="149" height="45" alt="Menu04" /></a></li> </ul> <!--mod_Gnavi006_end --></div>
CSS
.mod_Gnavi006 ul{
width:616px;
overflow:hidden;
position:relative;
}
.mod_Gnavi006 ul li{
height:45px;
float:left;
}
.mod_Gnavi006 ul li img{
display:block; /* IE6隙間防止 */
}
.mod_Gnavi006 ul li a{
display:block;
}