サマリー
1.jQuery.BlockUIとは
2.使い方
3.画面がready状態になる前に表示させたい場合
4.使用してみた感想
photo credit: Arttu Ekholm via photopin cc
1.jQuery.BlockUIとは
Webアプリにおいて、時間のかかる処理中や重い画面を開くときなどに「お待ちください」「Please Wait…」「Now Loading…」などと表示させ、ユーザーが画面を触われない)状態にすることは、大切なUI設計の一つである。
これを簡単に実装する方法の一つにjQuery.BlockUI.jsというjQueryプラグインがある。
これを使うと簡単に画面全体を半透明のレイヤーでブロックすることができる。
2.使い方
(1)ダウンロード
(2)headでjQueryとblockUIプラグインを読み込み、functionを書く
<script type="text/javascript" src="/Scripts/jquery.js"></script> <script type="text/javascript" src="/Scripts/jquery.blockUI.js"></script> <script type="text/javascript"> $(function() { $('#test').click(function() { $.blockUI({ message: 'Now Loading', css: { border: 'none', padding: '10px', backgroundColor: '#333', opacity: .5, color: '#fff' }, overlayCSS: { backgroundColor: '#000', opacity: 0.6 } }); setTimeout($.unblockUI, 10000); }); }); </script>
※オプション説明
項目 | 説明 |
---|---|
message | メッセージを指定 |
css | メッセージ部のスタイルを指定 |
showOverlay | オーバーレイを指定したくない場合false |
overlayCSS | オーバーレイ部のスタイルを指定 |
fadeIn | オーバーレイのfadeIn時間 |
fadeOut | オーバーレイのfadeOut時間 |
(3)bodyへ記述
a要素で使用する場合。(リンクをクリックするとNowLoading…)
<a href="#" id="test"></a>
idをつけれるものは何でも可。サブミットボタンの例。(ボタンクリックでNowLoading…)
<input type="button" id="test" value="click here!">
3.画面がready状態になる前に表示させたい場合
上記の例はリンククリック時にNowLoading画面が表示される例で、入門用サンプルとしてわかりやすいのでよく説明に用いられるが、実はあまり現実的ではない。
なぜなら、リンクをクリックするということは、次の画面に遷移することがほとんどであり、
時間を要する処理は、遷移先画面で行われることも多いから。
例えば遷移先画面で多くのテーブルデータを読み込んだりしている場合、画面表示までNowLoadingを表示させておきたい場合などがある。
このような場合は、jQueryを少しでもかじっていたらわかることだが、headに書いている下記
$(document).ready(function() {
の部分は、画面を読み込んでしまってから(ready状態になってから)実行される部分。
この部分を削って、遷移先画面のbody内の冒頭に書いてやると、遷移先画面の読み込み完了前からNowLoadingが表示されることになる。
この場合は最後にブロックを解除する必要がある。body最下部で
$.unblockUI();
とブロックを解除してやるとよい。
4.使用してみた感想
ユーザの使用感を満足させるのに、クリック時になんらかの反応を見せるのは必須。特にフェードイン/フェードアウトする透明レイヤーは上質に見える上に、連続クリックを防止するという機能も備えていて、個人的には今後はずせないものとなりそう。
Web制作の現場で使うjQueryデザイン入門[改訂新版] (Web Professional Books)
- 作者: 西畑一馬
- 出版社/メーカー: KADOKAWA/アスキー・メディアワークス
- 発売日: 2013/03/07
- メディア: 大型本
- クリック: 4回
- この商品を含むブログ (7件) を見る
コアjQuery+プラグイン/jQuery UI 開発実践技法 (Programmer’s SELECTION)
- 作者: Bear Bibeault,Yehuda Katz,吉川邦夫
- 出版社/メーカー: 翔泳社
- 発売日: 2011/08/31
- メディア: 大型本
- 購入: 8人 クリック: 296回
- この商品を含むブログ (24件) を見る