このページの本文へ

前へ 1 2 3 次へ

  • はてなブックマークに登録
  • del.icio.usに登録
  • livedoorクリップに登録
  • Buzzurlに登録
  • StumbleUponに登録
  • Google Bookmarksに登録
  • Facebookでシェア
  • Yahoo!ブックマークに登録
  • お気に入りに登録
  • 本文印刷

Web制作の現場で使えるjQuery UIデザイン入門 ― 第18回

IE6対応!jQueryで透過PNGのロールオーバーを作る

2009年11月09日 11時00分更新

文● 西畑一馬/to-R

※この記事は「Web制作の現場で使えるjQuery UIデザイン入門」の第18回です。過去の記事もご覧ください。


 前回はナビゲーションメニューに「ロールオーバー」効果を付けるスクリプトを作成しました。今回は、Webデザインの幅を広げる透過PNG画像を使ったロールオーバーの作成方法を解説します。透過PNGはInternet Explorer(IE) 6が標準でサポートしていないため、クロスブラウザー対応には工夫が必要です。

今回制作するサンプル

サンプル画面
透過PNGに対応したロールオーバーのサンプル。メニュー画像は半透明になっており背景が透けている。IE6を含むクロスブラウザーに対応している(画像クリックでサンプルページを表示します)


ロールオーバーの基本部分をおさらい

 「透過PNG対応」といっても、IE6以外のブラウザーでは単に透過PNG画像を用意するだけですので、通常のロールオーバーと変わりません。まずは前回のおさらいをかねて、通常のロールオーバーを作成しましょう。以下のようなHTML/XHTML(以下、HTML)を用意します。メニューはul/li要素で記述し、img要素のclass属性には「rollover」を設定します。ここでは、次のような半透明の透過PNG画像を用意し、img要素のsrc属性に指定しています。

透過PNG
半透明の透過PNG画像を用意する。画面はPhotoshopで開いたところ。市松模様が透明部分

サンプル01(HTML部分)


<ul>
    <li><a href="#"><img src="images/jquery.png" alt="jQuery" class="rollover" /></a></li>
    <li><a href="#"><img src="images/javascript.png" alt="javascript" class="rollover" /></a></li>
    <li><a href="#"><img src="images/css.png" alt="CSS" class="rollover" /></a></li>
    <li><a href="#"><img src="images/html.png" alt="HTML" class="rollover" /></a></li>
</ul>

 CSSは次のようになります。li要素をfloatプロパティで横並びにしています。

サンプル01(CSS部分)


ul{
    padding: 10px;
    margin:0;
}
ul li{
    width:140px;
    height:40px;
    list-style-type:none;
    float:left;
}
ul li img{
    width:140px;
    height:40px;
    border:none;
}


 スクリプト部分は前回のサンプル03(関連記事)とまったく同じです。

サンプル01(スクリプト部分)


$(function(){
    $("img.rollover").mouseover(function(){
        $(this).attr("src",$(this).attr("src").replace(/^(.+)(\.[a-z]+)$/, "$1_on$2"));
    }).mouseout(function(){
        $(this).attr("src",$(this).attr("src").replace(/^(.+)_on(\.[a-z]+)$/, "$1$2"));
    }).each(function(){
        $("<img>").attr("src",$(this).attr("src").replace(/^(.+)(\.[a-z]+)$/, "$1_on$2"));
    })
})


 これで基本となるロールオーバーが完成しました。サンプル01をブラウザーで開くと、IE6以外のモダンブラウザーではメニューの背景が透けて表示されます。一方、透過PNGに対応していないIE6ではメニューが塗りつぶされて表示されます。

サンプル01の実行画面
IE6以外のモダンブラウザーでは適切に動作するIE6では透過部分が適切に処理されていない

前へ 1 2 3 次へ

Get Microsoft Silverlight

関連記事

はてブ注目ランキング
  1. Google、リッチスニペットでイベントの日時や場所表示に対応15 users
  2. 大手に負けないネットショップの作り方12 users
  3. JavaScriptでRSSからPhotoshop画像を生成!9 users
  4. Adobe BridgeのJavaScriptでXMLを操作しよう8 users
  5. Google、中国から撤退か Google.cn 閉鎖の可能性も7 users
  6. もう配色には困らない!「Adobe Kuler」1456 users
  7. 30分でできる!Webサイトを高速化する6大原則1231 users
  8. Web制作会社が作った!超使えるJavaScriptライブラリ1044 users
  9. 黒船Google汐留沖に出現でWeb広告業界に激震!975 users
  10. Web制作に超便利!無料のプロトタイプ作成ツール777 users
最新記事

特設サイト

ASCII.jp会員サービス 週刊Web Professional登録

Webディレクター江口明日香が行く

Web Professional 連載記事一覧

Norton Internet Security 2010

Norton Internet Security 2010

シマンテック

5278円~

36%OFF!!

ソースネクスト 筆王ZERO (2010年パッケージ) (Amazon.co.jp購入者対象:その場で200円割引き)

ソースネクスト 筆王ZERO (2010年パッケージ) (Am…

ソースネクスト

3672円~

26%OFF!!

筆まめVer.20 通常版DVD-ROM

筆まめVer.20 通常版DVD-ROM

クレオ

4432円~

31%OFF!!

大航海時代 Online ~El Oriente~

大航海時代 Online ~El Oriente~

コーエー

4645円~

24%OFF!!

Norton Internet Security 2010 ニコニコパック

Norton Internet Security 2010 ニ…

シマンテック

5180円~

37%OFF!!

Adobe Photoshop Elements 8 日本語版 Windows版

Adobe Photoshop Elements 8 日本語版…

アドビシステムズ

1万1340円~

22%OFF!!

PowerDirector 8 Ultra 特別優待パッケージ版

PowerDirector 8 Ultra 特別優待パッケージ版

サイバーリンク トランスデジタル

5832円~

43%OFF!!

楽々はがき2010 開運年賀状

楽々はがき2010 開運年賀状

ジャストシステム

1692円~

19%OFF!!

Amazon.co.jp