もし、ロールオーバーするすべての画像に対して効果を共通にするなら(この場合は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]

TOPページへ前のページへ戻る  1 2