fancyBoxは、画像など多くのコンテンツのビューアとして人気のあるjQuery系のLightboxです。
fancyBoxには、おおまかに5つの機能があります。
1.、2.、3.は、fancyboxメインのJS,CSSファイルを使用します - メイン基本機能。
4.、5.は、メインファイルにオプションのJS,CSSファイルを追加して使用します - オプション応用機能。
APIを使って、画像など各種のコンテンツを文字列をクリックして開きます(APIを使用しない同じ機能は基本機能にあります)。 コンテンツタイプには、'image', 'inline', 'ajax', 'iframe', 'swf' および 'html' があります。 コンテンツの呼び出し方は、つぎのとおりです。
<script type="text/javascript"> $("#fancybox-manual-a").click(function() { //赤字はセレクター名=AタグのID名 $.fancybox.open('sun/sun-pixabay01.jpg'); }); </script> </head> <body> <a id="fancybox-manual-a" href="javascript:;">1枚の画像を開く</a> <!-- ↑ Javascriptの呼び出し 赤字はJavascriptのセレクター名-->
コンテンツのURL、コンテンツタイプやタイトルなどはJavascriptで定義します。
コンテンツタイプの定義は、画像(image)、インライン(inline)やフラッシュファイル(swf)の場合、HREFの情報から判定してくれるので省略しても構いません。
なお、ボタンヘルパーやサムネールヘルパー機能を合せて使用する場合は、そのヘルパーファイルをインクルードします。
ギャラリーでタイトルに、いわゆる何枚中何枚目を埋め込み表示したい場合はつぎのAPI afterLoad関数で、タイトルにカレントインデックス
を埋め込み取得します(Javascriptサンプル例)。
下の赤字の部分(Image、of、-)を好みの文字に修正します。
Javascriptの「this.index + 1」がカレントインデックス(何枚目)で、「this.group.length」が総数です。
//Fancybox afterLoadのカレントインデックス取得サンプル例 afterLoad : function() { this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : ''); } このサンプル例の表示イメージはこちら
//Fancybox afterLoadのカレントインデックス取得カスタマイズ修正例 afterLoad : function() { this.title = '(' + (this.index + 1) + '枚目/' + this.group.length + (this.title ? '枚中)' + this.title : ''); }
Fancyboxがサポートするスライドショーのナビゲーションには、ドットナビゲーションがありません。シンプルなドットナビゲーションを使いたい場合は、APIを使い、JavascriptやCSSを追加します。 カスタマイズ方法は、FancyboxのFAQから引用しました。 ドットナビゲーション設置のイメージはこちら。
Fancyboxのtransitions(遷移アニメーション効果)の基本機能は、elasticとfadeの2つですが、オプションのプラグインには、16種類のメソッドが用意されています。
transitions のプラグインは、Githubサイトからダウンロードします。
transitions のプラグインファイルは、jquery.fancybox.cssとjquery.fancybox.pack.jsです。
インクルードファイルのHTML例は下のとおりです。ボタンヘルパーおよびマムネールヘルパーのファイルは、その機能を使用する時にインクルードします。
<!-- Add jQueryファイル --> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> <!-- Add fancyBoxメインファイル --> <link rel="stylesheet" href="../source/jquery.fancybox.css?v=2.1.5" type="text/css" media="screen" /> <script type="text/javascript" src="../source/jquery.fancybox.pack.js?v=2.1.5"></script> <!--Add Fancybox transitionsプラグインファイル --> <link rel="stylesheet" href="../source/jquery.fancybox-transitions.css?v=0.1" type="text/css" media="screen" /> <script type="text/javascript" src="../source/jquery.fancybox-transitions.js?v=0.1"></script> <!-- buttonヘルパーファイル ボタンナビ ↓ 必要時組み込み --> <link rel="stylesheet" href="../source/helpers/jquery.fancybox-buttons.css?v=1.0.5" type="text/css" media="screen" /> <script type="text/javascript" src="../source/helpers/jquery.fancybox-buttons.js?v=1.0.5"></script> <!-- thumbnailヘルパーファイル サムネールナビ ↓ 必要時組み込み --> <link rel="stylesheet" href="../source/helpers/jquery.fancybox-thumbs.css?v=1.0.7" type="text/css" media="screen" /> <script type="text/javascript" src="../source/helpers/jquery.fancybox-thumbs.js?v=1.0.7"></script>
$('.fancybox').fancybox({ openMethod: 'superscaleIn', closeMethod: 'superscaleOut' });
1. Drop in ( 'drop' ) 2. Fade in and scale up ( 'fadescale' ) 3. Slide in from the right ( 'slideright' ) 4. Slide in from the bottom ( 'slidebottom' ) 5. Newspaper (twirl in) ( 'newspaper' ) 6. Fall ( 'fall' ) 7. Fall from the side ( 'sidefall' ) ※fallsideは誤り 8. Slide from the top ( 'stickyup' ) 9. Horizontal 3D flip ( 'horizontalflip' ) 10.Vertical 3D flip ( 'verticalflip' ) | 11. 3D swinging sign ( 'sign' ) 12. Super scaled! ( 'superscale' ) ※superscaledは誤り 13. 3D growing slit ( 'slit' ) 14. 3D rotate from bottom ( 'rotatebottom' ) 15. 3D rotate from left ( 'rotateleft' ) 16. Blur ( 'blur' ) |
TOP|準備|ⅠfancyBox基本機能|ⅡfancyBox応用機能|ⅢfancyBox API, transitions
Lightbox関連リンク
Lightbox系メディアビューア(まとめ サイト内リンク)
No | ビューアー | JSフレームワーク | モーダル window*2 | 画像 | 動画*1 | 動画共有サイト 動画 | Webページ | スライドシュー | 備考 |
1 | Lightbox | PrototypeからjQueryに変更(v2.51) | モーダル | ● | ● | ||||
2 | Pirobox | jQuery | モーダル | ● | ● | 推奨 | |||
3 | Videobox | mootools | モーダル | ● | |||||
4 | Mediabox | mootools | モーダル | ● | ● | ● | |||
5 | Shadowbox | Prototype、
MooTools (requires 1.2 Core)、
Dojo Toolkit、 Yahoo! User Interface Library、 Ext (requires ext-core.js)、 非JSフレームを選択可 | モーダル | ● | ● | ● | ● | ● | 推奨 |
6 | Colorbox | jQuery | モーダル | ● | ● | ● | ● | ● | |
7 | Fotorama | jQuery(スライダー) | 非モーダル | ● | ● | ● | ● | ● |