このページの本文へ

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

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

jQueryのイベントをチュートリアルで学ぶ(前編)

2009年08月19日 18時46分更新

文● 西畑一馬/to-R


クリックされるたびに異なる命令を実行する toggle()

 クリックされるたびに異なる命令を実行したいときに便利なのが、toggle()です。括弧内に function(){...} (カンマ)区切りで複数設定でき、クリックされた順番に命令を実行していきます。設定してある命令が最後まで実行されたら最初の命令に戻って繰り返します。


$(function(){
    $(セレクター).toggle(function(){
        //最初にクリックされた際に実行したい命令
    },function(){
        //2回目にクリックされた際に実行したい命令
    },function(){
        //3回目にクリックされた際に実行したい命令
    },function(){
        (中略)
    },function(){
        //最後にクリックされた際に実行したい命令
    })
})


 以下のサンプルでは、ボタンをクリックするたびに表示される画像が切り替わります。

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


$(function(){
    $("button").toggle(function(){
        $("img").attr("src","sea.jpg").attr("alt","海");
    },function(){
        $("img").attr("src","Jellyfish.jpg").attr("alt","くらげ");
    },function(){
        $("img").attr("src","Building.jpg").attr("alt","建物");
    },function(){
        $("img").attr("src","flower.jpg").attr("alt","花");
    })
})

サンプル10((X)HTML部分)


<button>画像を変更</button>
<p><img src="flower.jpg" alt="花" /></p>

サンプル10(実行結果)

images/sample11.jpg
ボタンがクリックされるたびに画像が切り替わる

マウスオーバー/マウスアウトを感知する mouseover() と mouseout()

  mouseover() mouseout()は、特定の要素上にマウスが重なったタイミングを感知して、設定された命令を実行します。ナビゲーションメニューでおなじみのマウスオーバー効果でおなじみですね。mouseover() mouseout() は多くの場合、組み合わせて使います。


■mouseover()

 mouseover() は、特定の要素上にマウスカーソルが重なったときに、命令を実行します。


$(セレクター).mouseover(function(){
        //セレクターで指定した要素にマウスカーソルが重なった際に実行したい命令
})



■mouseout()

 mouseout() は、特定の要素上にマウスカーソルが外れたときに命令を実行します。


$(セレクター).mouseout(function(){
        //セレクターで指定した要素からマウスカーソルが外れた際に実行したい命令
})


 以下のサンプルでは、img要素にマウスカーソルが重なった際に、img要素のsrc属性の値を「sea.jpg」に、alt属性の値を「海」に書き換えます。マウスカーソルがimg要素から外れた際には、img要素のsrc属性の値を「flower.jpg」に、alt属性の値を「花」に書き換えます。

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


$(function(){
    $("img").mouseover(function(){
        $(this).attr("src","sea.jpg").attr("alt","海");
    }).mouseout(function(){
        $(this).attr("src","flower.jpg").attr("alt","花");
    })
})

▼(サンプル12)((X)HTML部分)


<img src="flower.jpg" alt="花" />

▼(サンプル12)(実行結果)

images/sample12-before.jpgimages/sample12-after.jpg
画像にマウスを乗せると画像が切り替わる

この連載の記事

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

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

みんなが買ってる最新アイテムはコレだ!

VOCALOID3 スターターIA ARIA ON THE PLANETES

VOCALOID3 スターターIA ARIA ON THE PLANETES

ヤマハ

17,745円〜

24人が購入

Google上位表示 64の法則 (WEB PROFESSIONAL)

Google上位表示 64の法則 (WEB PROFESSIONAL)

アスキー・メディアワークス

2,499円〜

72人が購入

標準HTML5タグリファレンス (WEB PROFESSIONAL)

標準HTML5タグリファレンス (WEB PROFESSIONAL)

アスキー・メディアワークス

2,205円〜

59人が購入

Speck MacBook Air 13型 See Thru - Clear SPK-MBA13-SEE-CLR

Speck MacBook Air 13型 See Thru - Clear SPK-MBA13-SEE-CLR

スペックコンピュータ

4,262円〜

23人が購入

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

アスキー・メディアワークス

2,499円〜

40人が購入

メモリーカード 32GB (PCH-Z321J)

メモリーカード 32GB (PCH-Z321J)

ソニー・コンピュータエンタテインメント

7,772円〜

9人が購入

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

マイクロソリューション Micro Solution Inc.

61人が購入

Amazon.co.jp