Webデザイナーになる方法やサイト制作のテクニック・Tipsをご紹介

メニューを開く

jQueryで画像のロールオーバーを実装

jQuery2011年1月10日

画像のロールオーバーの方法は多くのサイトで紹介されていますが、フルスクラッチで書くとそれなりにコードも増え、汎用性を持たせるのも少々大変です。私の場合はjQueryで多くの機能を実装することが多いため、ロールオーバーもjQueryで実装してみました。

HTML

<p class="roll"><a href="#"><img src="test.gif" alt="" width="200" height="49" /></a></p>

Javascript

'jQuery' in window && (function($) {
$(document).ready(function($) {
var postfix = '_o';
$('.roll img,img.roll').not('[src*="'+ postfix +'."]').each(function() {
var img = $(this);
var src = img.attr('src');
var src_o = src.substr(0, src.lastIndexOf('.'))
+ postfix
+ src.substring(src.lastIndexOf('.'));
$('').attr('src', src_o);
img.hover(
function() {
img.attr('src', src_o);
},
function() {
img.attr('src', src);
}
);
});
});
})(jQuery);

使用方法

  1. デフォルト画像test.gifとロールオーバーする画像test_o.gifを作成
  2. JavascriptファイルまたはHTMLに上記コードを挿入

また、src属性で指定した画像に_oが付いている場合はロールオーバーの処理を実行しないようにしています。これにより、アクティブなページで初めから_o付きの画像を指定したい時も、IDやClassを指定する必要が無くなります。

この記事を読んでいる方にオススメの記事

「jQuery」の他の記事を読む

Skyward Design Blog さん

2011年9月14日

【研究ノート】jQueryで画像のロールオーバーを実装してみる…

jQueryベースで開発している際に画像のロールオーバー機能を取り入れたいことが時々あるのですが、良いプラグインがなく他の優れたライブラリ(MJL)を利用していました。そこで今回、…

この記事にコメントする

必須
必須
本文必須

  • 承認制のため、即時には反映されません。

ページの先頭に戻る