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);
使用方法
- デフォルト画像test.gifとロールオーバーする画像test_o.gifを作成
- JavascriptファイルまたはHTMLに上記コードを挿入
また、src属性で指定した画像に_oが付いている場合はロールオーバーの処理を実行しないようにしています。これにより、アクティブなページで初めから_o付きの画像を指定したい時も、IDやClassを指定する必要が無くなります。
この記事を読んでいる方にオススメの記事
- jQueryテーブルの偶数列に背景を自動で敷くスクリプト
- jQueryjQueryでタブメニューを実装(テキストメニュー版)
- jQuery超便利!jQueryでJSONデータを解析し、HTMLに表示する/前編
- jQuery順序付きリスト[Ordered List]の昇降を逆にする
- jQueryjQueryでローテーションバナーを実装
- jQueryjQueryでブロックレベルの高さを揃える
- ※承認制のため、即時には反映されません。
Skyward Design Blog さん
【研究ノート】jQueryで画像のロールオーバーを実装してみる…
jQueryベースで開発している際に画像のロールオーバー機能を取り入れたいことが時々あるのですが、良いプラグインがなく他の優れたライブラリ(MJL)を利用していました。そこで今回、…
この記事にコメントする