jQuery:ウィンドウ内で画像の拡大表示をするプラグイン「Lightbox2」

jQueryプラグインLightbox2」を使用したので設置方法を記載します。

Lightboxは画像やリンクなどをクリックした際に、
ウィンドウ内で画像を拡大表示することができるプラグインです。

Lightbox2

lightbox2_1

以前はLightboxを使用する場合、prototype.jsを使わなければいけなかった記憶がありますが、
今のバージョン(2.5以降)ではjQueryだけで設置できるようです。

prototypeとjQueryを共存させると動作がうまくいかないことがあり、
Lightboxをあまり使用していなかったのですが今後活用できそうです。

下記にjQueryプラグインLightbox2」を使用し、画像拡大表示をさせた時の設置方法をメモします。

Lightboxのバージョンは「Lightbox v2.7.1」です。


Lightbox2の設置方法(使い方)

下記URLより、「Lightbox2」をダウンロードします。

http://lokeshdhakar.com/projects/lightbox2/

ダウンロードした「css」「js」「img」フォルダをサーバにアップロードします。

共通で読み込むファイル

jQueryと各ファイルを読み込みます。

<link rel="stylesheet" type="text/css" href="./css/lightbox.css" />

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript"  src="./js/lightbox.js"></script>

HTML

Lightbox2を使用する画像のリンクに「rel=”lightbox”」を記述します。

<a href="./image/sample.jpg" rel="lightbox"><img src="./image/thumb.jpg" /></a>

また、下記のように記述してもOKです。
aタグに「data-lightbox=”sample”」を追加しています
※「sample」は個別の値で設定します。

<a href="./image/sample.jpg" data-lightbox="sample"><img src="./image/thumb.jpg" /></a>

上記の設定をするだけで、Lightbox2を設置することができます。


Lightbox2で画像をグループ化する方法

複数の画像をグループ化して表示させたい場合があります。
下記のように記述するとグループ化することが可能です。

HTML

「rel=”lightbox[group]”」を記述します。

<a href="./image/sample1.jpg" rel="lightbox[group]"><img src="./image/thumb1.jpg" /></a>
<a href="./image/sample2.jpg" rel="lightbox[group]"><img src="./image/thumb2.jpg" /></a>
<a href="./image/sample3.jpg" rel="lightbox[group]"><img src="./image/thumb3.jpg" /></a>

または、下記のように記述します。
グループ化する場合「data-lightbox=”group”」の「group」を同じ値で設定します。

<a href="./image/sample1.jpg" data-lightbox="group"><img src="./image/thumb1.jpg" /></a>
<a href="./image/sample2.jpg" data-lightbox="group"><img src="./image/thumb2.jpg" /></a>
<a href="./image/sample3.jpg" data-lightbox="group"><img src="./image/thumb3.jpg" /></a>

キャプションを入れる場合

HTML

「title=”キャプション”」を記述します。

<a href="./image/sample.jpg" rel="lightbox" title="キャプション"><img src="./image/thumb.jpg" /></a>

または、下記のように記述します。

<a href="./image/sample.jpg" data-lightbox="sample" data-title="キャプション"><img src="./image/thumb.jpg" /></a>

とても簡単に設置することができるので、
拡大して表示したい画像がある場合などはおすすめです。

jQuery:FancyBoxを使用し、Lightboxのように表示する

FancyBox1.3.4を使用した時の使い方をメモします。

FancyBoxLightboxのように表示するjQueryプラグインです。
下記のリンクよりダウンロードできます。

FancyBox


FancyBoxの使い方

共通で読み込むファイル

FancyBoxのスタイルシート、FancyBoxのJSファイル、jQueryなどの
ファイル等を読み込みます。

<link rel="stylesheet" type="text/css" href="/fancybox/jquery.fancybox-1.3.4.css" media="screen" />

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="/fancybox/jquery.fancybox-1.3.4.pack.js"></script>

※マウスホイールイベントを使用する場合は下記も読み込みます。

<script type="text/javascript" src="/fancybox/jquery.mousewheel-3.0.4.pack.js"></script>

○デフォルトの場合(オプションなし)

jQuery

<script type="text/javascript">
    $(document).ready(function() {
        $(".fancybox1").fancybox();
    });
</script>

HTML

<a class="fancybox1" href="./img/sample_b.jpg"><img alt="sample" src="./img/sample_s.jpg" /></a>

表示するものにタイトルを表示させる場合は、「title=””」に記載します。

<a class="fancybox1" href="./img/sample_b.jpg" title="タイトル"><img alt="sample" src="./img/sample_s.jpg" /></a>

○グループ化させる場合

「rel=””」にグループ化をする対象の物に同じ値を付けます。

jQuery

<script type="text/javascript">
    $(document).ready(function() {
        $(".fancybox2").fancybox({
            'cyclic'        : true
        });
    });
</script>

HTML

<a class="fancybox2" rel="group" href="./img/sample1_b.jpg" title=""><img alt="" src="./img/sample1_s.jpg" /></a>
<a class="fancybox2" rel="group" href="./img/sample2_b.jpg" title=""><img alt="" src="./img/sample2_s.jpg" /></a>
<a class="fancybox2" rel="group" href="./img/sample3_b.jpg" title=""><img alt="" src="./img/sample3_s.jpg" /></a>
<a class="fancybox2" rel="group" href="./img/sample4_b.jpg" title=""><img alt="" src="./img/sample4_s.jpg" /></a>

上記以外にもFancyBoxのエフェクトや背景、透過などのオプションが色々あるので、
サイトに合わせてカスタマイズできると思います。

また、「FancyBox1.3.4」は「jQuery1.9」で動作しなかったので「jQuery1.8」を使用しました。