The current article
超簡単!CSSを使わず、jqueryで画像透過(ロールオーバー)する
わずか数行のコードで、画像を透過するjqueryのご紹介です。
今更感もありますが、ロールオーバーさせる為に画像を2枚用意するのが面倒な時の選択肢の一つにいかがでしょうか。

capture
まず、いつもの様にjquery本体を読み込みます。
続いて透過用のコードを書いていきます。
記述例はこんな感じです。
<html>
<head>
・
・
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
var images = $("img");
for(var i=0; i < images.size(); i++) {
if(images.eq(i).attr("src").match("_btn.")) {
$("img").eq(i).hover(function() {
$(this).css('opacity', '0.7');
}, function() {
$(this).css('opacity', '1');
});
}
}
});
</script>
・
・
</head>
・
・
簡単な解説ですが、
10行目が、画像の名前に「_btn」と記述されているものとマッチした場合、
11行目が、その画像にマウスが乗った時、
12行目が、70%に透過する。(0.8にすると80%のように変更できます)
14行目が、マウスが乗っていない時は100%で表示。
となります。
続いてBODY内の記述はこんな感じになります。
・ ・ <a href="hoge.html"><img src="images/sample_btn.jpg" /></a> ・ ・
画像には「_btn」を付けてあげないと動きませんので、
例えば、画像ファイル名を「sample_btn.jpg」としてアップロードし、
画像へのリンクも「sample_btn.jpg」と、「_btn」を付けて下さい。
参考にCSSで対応するとこんな感じでしょうか。
a:hover img {
filter: alpha(opacity=70);
-moz-opacity:0.7;
-khtml-opacity: 0.7;
opacity:0.7;
zoom:1;
}
一度、jquweryで擬似ロールオーバーを試してみてはいかがでしょうか。
