このページの本文へ

前へ 1 2 3 4 5 次へ

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

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

jQueryによるアニメーションエフェクトの基本

2009年09月17日 10時00分更新

文● 西畑一馬/to-R

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


 jQueryの特徴の1つは、Webサイトに動きを付ける「アニメーションエフェクト」を手軽に実装できることです。jQueryで実現できるのは、セレクターで指定したHTML/XHTML(以下、HTML)要素のサイズや位置、透明度を時間の経過とともに徐々に変化させ、動いているように見せる簡単なアニメーションですが、最近のWebデザインで用いられる“動きのあるUI”を作るのには重宝します。

 今回は、jQueryに用意されているアニメーションエフェクト関連の命令を紹介します。


非表示状態の要素を表示するshow()

 show()は、CSSのdisplayプロパティの値が「none」、つまり非表示に設定されているHTML要素を、アニメーション付きで表示状態(display:bolck;)に切り換える命令です。要素の透明度を透明から不透明にしながら、サイズ(高さ/幅)を0から本来のサイズに変化させます。対象となる要素はセレクターで指定し、show(...) の括弧内にはアニメーションのスピードを指定します。


$(セレクター).show(スピード);


 次のサンプルでは、button要素をクリックすると、CSSで非表示(display:none;)に設定されている赤色のdiv要素が、左上から右下方向へ少しずつ拡大しながら表示されます。

サンプル01(CSS部分)


div{
    width:200px;
    height:200px;
    background:red;
    display:none;
}

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


$(function(){
    $("button").click(function(){
        $("div").show("slow");
    })
})

サンプル01(HTML部分)


<button>表示</button>
<div></div>


サンプル01(実行結果)

サンプル01
サンプル01
サンプル01の実行画面。要素が少しずつ表示されながら拡大している

 アニメーションのスピードは slownormafast のいずれか、またはミリ秒(1秒=1000秒)で指定できます。ミリ秒で指定する数字は、"(ダブルクォーテーション)で囲う必要はありません。たとえば以下の場合は、1000ミリ秒、つまり1秒間かけてdiv要素を表示します。


$("div").show(1000);


 show() は、括弧内に記述するスピードの指定を省略すると、アニメーション処理をせず、非表示の要素を即座に表示します。


$("div").show();


 この場合、jQueryを使った以下の記述と同じ実行結果になります。


$("div").css("display","block");



■show()にコールバック関数を設定する

 show(...) は、スピードの後ろに,(カンマ)区切りでコールバック関数を設定できます。


$(セレクター).show(スピード,コールバック関数);


 コールバック関数は、アニメーション処理が終わった後に続けて実行される命令です。「処理が終わったら、この関数を呼び出して」と指定するのでコールバック関数と呼ばれます。function(){...} で指定し、{...} 内に命令を記述します。jQueryはメソッドチェーンで続けて実行する命令を記述できますが、メソッドチェーンで記述した命令がアニメーションの終了を待たずにすぐに実行されるのに対して、コールバック関数として記述した命令はアニメーションが完了してから実行されます。

 以下のサンプルでは、サンプル01にコールバック関数を追加し、アニメーションが終了した後にcss()div要素を青色に変更しています。

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


$(function(){
    $("button").click(function(){
        $("div").show("slow",function(){
            $(this).css("background","blue");
        });
    })
})


サンプル02(実行結果)

サンプル02
サンプル02の実行画面。サンプル01の処理が終わった後に青色に変わる

前へ 1 2 3 4 5 次へ

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