連載:改造WebアプリケーションUIビフォー/アフター 第2回 Webアプリ改造の前に「速習! jQuery/jQuery UI」 葛西秋雄2010/03/05 |
![]() |
|
|
|
jQuery UIのプラグインをざっくり理解する
ここでは、次回(第3回)で使用するjQuery UIのDialog、Draggable、Droppableプラグインについて解説します。
■Dialogプラグインの使い方
jQuery UIのDialogプラグインを利用するには、jQueryのライブラリのほかに、jQuery UIのライブラリも組み込む必要があります。さらに、jQuery UIのテーマ(CSS)も組み込んでおきます。本稿では、jquery.comとjqueryui.comのサイトからライブラリとテーマをダウンロードする代わりに、GoogleのCDNから取り込みます。
| |
| リスト16 リスト5 GoogleのCDNによるjQuery/jQuery UI(およびテーマ)の読み込み |
ダイアログを表示するには、<body>要素にdiv#dialog要素を追加します。そして、<head>要素に<script>要素を追加して次のようなコードを追加します。ここでは、jQueryのセレクタでdiv#dialog要素を検索してdialogメソッドを実行しています。これでダイアログが表示されます(図4)。
| |
| リスト17 ダイアログの表示 | |
![]() |
| 図4 jQuery UIのDialogプラグインでダイアログを表示した例 |
ダイアログのヘッダには、div#dialog要素のtitle属性に設定したタイトルが表示されます。ダイアログはドラッグして移動したり、右下のハンドルをドラッグしてリサイズしたりできます。ダイアログを閉じるには右上の[X]をクリックします。
モーダル型のダイアログを表示するには、dialogメソッドの引数にmodalオプションを追加して「true」を設定します。
| |
| リスト18 モーダル・ダイアログの表示 | |
■Draggableプラグインの使い方
Draggableプラグインは、HTML要素をドラッグできるようにします。
jQuery UIのDraggableプラグインを使用するには、<body>要素にdiv#draggable要素を追加して、<head>要素に次のようなコードを追加します。ここでは、jQueryのセレクタでdiv#draggable要素を検索してdraggableメソッドを実行しています。
| |
| リスト19 要素のドラッグ | |
div#draggble要素をドラッグしたときにカーソルの形状を変えるには、draggableメソッドの引数にcursorオプションを追加して「move」を設定します。
| |
| リスト20 ドラッグ中のカーソルを変更 | |
div#draggable要素をドラッグして移動するときに、オリジナルの代わりにクローン(複製)を移動させるには、引数にhelperオプションを追加して「clone」を設定します(図5)。このときオリジナルとクローンを区別するために、以下のリスト21ではopacityオプションを追加して不透明度を「0.7」にしています。
| |
| リスト21 helperオプションによるクローンの移動 | |
![]() |
| 図5 div#draggableをドラッグするとクローンが移動する |
ドラッグした要素をターゲットの要素にドロップしないで処理を中断したときに、クローンをオリジナルの場所に戻すには、revertオプションを追加して「true」を設定します。
| |
| リスト22 revertオプションの設定 | |
■Droppableプラグインの使い方
Draggableプラグインでドラッグした要素をドロップするには、jQuery UIのDroppableプラグインを使用します。
リスト23では、<body>要素にdiv#draggable/div#droppable要素を追加して、マウスにより要素をドラッグ&ドロップできるようにします。jQueryのセレクタでdiv#draggable要素を検索したら、前出のdraggableメソッドを実行してドラッグできるようにします。次に、セレクタでdiv#droppable要素を検索し、droppableメソッドを実行します。これでドラッグ&ドロップできるようになります。
またここでは、droppableメソッドの引数にdropイベントを登録して、要素をドロップしたときにハイライトさせて「ドロップしました!」のメッセージを表示しています(図6)。Draggableメソッドの引数にrevertオプションを追加して「invalid」を設定すると、要素をドラッグしてドロップを中断したときに元の場所に戻ります。
| |
| リスト23 要素のドラッグ&ドロップ | |
![]() ▼ div#draggable要素をドラッグして移動しドロップ ▼ ![]() |
| 図6 div#droppable要素にドロップするとハイライトしてメッセージが表示される |
特定の要素のみドロップできるようにするには、droppableメソッドの引数にacceptオプションを追加してドロップを許可する要素を指定します。リスト22では、div#draggable要素をドロップできるようにしています。
activeClassオプションを追加すると、div#draggable要素をドラッグしたときに、ターゲットのdiv#droppable要素をハイライト表示できます。また、activeClassオプションを追加すると、div#draggable要素がターゲットのdiv#droppable要素の領域内に完全に入りきったときに色を変えて知らせることができます。
| |
| リスト24 特定の要素のみをドロップ可能にする | |
おわりに
今回はjQueryのAPIの使い方とjQuery UIのプラグインの使い方をざっくりと説明しましたが理解していただけましたでしょうか。最終回となる次回では、ここで説明したjQueryのAPIやプラグインを利用して「ITブック」のUIを改善します。ご期待ください。![]()
| INDEX | ||
| 改造WebアプリケーションUIビフォー/アフター | ||
| 第2回 Webアプリ改造の前に「速習! jQuery/jQuery UI」 | ||
| 1.jQueryのHello World | ||
| 2.jQueryのイベントを理解する | ||
| 3.jQuery UIのプラグインをざっくり理解する | ||
| 「改造WebアプリケーションUIビフォー/アフター」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
は.NET開発者中心に生まれ変わりました
スポンサーからのお知らせ
.NET開発者中心コーナー
- - PR -
イベントカレンダー
- - PR -






