fancybox [plug-in] [jQuery]

2014年に制作した記事を2015/08に加筆修正

モーダルウィンドウで(ライトボックス風に)画像などを表示するjQueryプラグインです。
画像だけでなく、動画、htmlなど様々なコンテンツを扱えます。
以下の提供元サイトからダウンロードして、必要なファイルを適切なディレクトリに格納し、読み込んで使用します。
jqueryのプラグインなので、jQueryライブラリが読み込まれていることが前提です。

なお、後継バージョンのfancyBox2というものもありますが、こちらは商用利用は有料だそうです(非営利の場合は無料で使えるようです)。

さらにfancyBox3というものも公開されたようです。スマートデバイスに対応していたり拡大できたりなにやら高機能っぽいですが、こちらも商用利用は有料だそうです(詳しくはサイトをご確認ください)。[2017/03追記]


sample

リンクをクリックすると動作します。


html

<a href="画像のパス" title="(必要であれば)画像のタイトル" rel="group">画像1</a>

※黒い部分をダブルクリックするとソースを選択できるので、コピーして使ってください。

  1. aタグに表示したい画像パスを指定。
  2. 表示させたければ画像タイトル(title属性使用)、複数の画像を遷移させたい場合はグループ化(rel属性・・・ここではgroup)をそれぞれ設定。

サンプルではaタグを羅列していますが、適宜リスト化したりしてください。


css

先にご紹介しましたcolorboxと違いデザインパターンもないので、これといってcssの修正は必要ないですが、閉じるボタンや次へボタンなど、コントロール用の画像を差し替えたり、デザインを多少カスタマイズしたいときは、必要な修正をしてください。

また、cssファイルと画像ファイルを何らかの理由で同一フォルダに格納できない場合も、提供元からダウンロードしたcssファイルの背景画像のパスを変えるなどしてください。

提供元からダウンロードしたcssファイルを直接修正もしくは、別途cssファイルを用意して元のcssファイルより後から読み込むなどしてください。


js

$(function() {
    $('a').fancybox();
});

※黒い部分をダブルクリックするとソースを選択できるので、コピーして使ってください。

  1. 基本的には
    $('セレクター').fancybox();
    このコードのみでセレクターで指定したリンクをクリックすると、リンクで指定した画像などをオーバーレイで表示する。
    上記の例だと、そのページ内のaタグすべてにfancyboxが適用されてしまうので、特定のリンクのみに適用したい場合は、class名などをセレクターにする。
  2. オプションを指定したい場合は、
    $('セレクター').fancybox({・・・});
    の{}内に,(コンマ)で区切って指定。

細かい設定や画像以外をオーバーレイで表示する方法は、提供元サイトのHow to useやAPI & Options、Tips & Tricks、デモのソースを参考にするか、このページの下の方にある参考をご覧ください。


戻る

Top