もし、ロールオーバーするすべての画像に対して効果を共通にするなら(この場合は50%透過PNGを重ねる)、src属性の値(URL)も共通になるので、いちいちHTML内に記述することもない。HTMLコードをすっきりさせるため、jQueryのattr()を使い、src属性のURLを表示させるようにした。
[codesyntax lang=”html4strict” tab_width=”2″ title=”HTML”]
<a href="#"> <img class="rollover" style="background-image: url(http://hogehoge.com/images/logo.gif); width: 292px; height: 67px;" /> </a>
[/codesyntax]
[codesyntax lang=”javascript” title=”jQuery”]
jQuery(document).ready(function($) { var postfix = '_on'; $('.rollover').not('[src*="'+ postfix +'."]').each(function() { $(this).attr({src: "http://hogehoge.com/images/img_rollover.png"}); var img = $(this); var src = img.attr('src'); var src_on = src.substr(0, src.lastIndexOf('.')) + postfix + src.substring(src.lastIndexOf('.')); $('<img>').attr('src', src_on); img.hover( function() { img.attr('src', src_on); }, function() { img.attr('src', src); } ); }); });
[/codesyntax]