Lightboxを使用することで、下図のように同一ウィンドウ上に画像を表示できるようになります。
実行イメージ
下記のサイトからスクリプトをダウンロードします。
ダウンロードしたファイルを展開し、スクリプトを使用するサイトにアップロードします。
画像ファイルloading.gifとcloselabel.gifへのリンクが、既定ではスクリプトを実行したファイルからの相対URLとなっているため、必要ならばlightbox.jsの該当箇所を修正します。
LightboxOptions = Object.extend({ fileLoadingImage: 'images/loading.gif', fileBottomNavCloseImage: 'images/closelabel.gif',
スクリプトのコードとCSSを読み込みます。
<script type="text/javascript" src="js/prototype.js"></script> <script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script> <script type="text/javascript" src="js/lightbox.js"></script> <link rel="stylesheet" type="text/css" href="css/lightbox.css" />
a要素のrel属性に、lightboxと設定します。また画像に見出しを表示したい場合には、title属性に説明文を記述します。
<a href="image.jpg" rel="lightbox" title="caption"><img src="thumbnail.jpg" /></a>
以下に示すように、rel属性において[ ]内に任意の名前を指定することで、同一の名前を持つ画像がグループ化されます。
<a href="image.jpg" rel="lightbox[group1]" title="caption"></a>
グループ化された画像には[NEXT][PREV]ボタンが表示され、それをクリックすることでグループ化された画像を連続して表示できます。
lightbox.jsファイルの以下の箇所を修正することで、表示内容をカスタマイズできます。
// // Configurationl // LightboxOptions = Object.extend({ fileLoadingImage: 'images/loading.gif', fileBottomNavCloseImage: 'images/closelabel.gif', overlayOpacity: 0.8, // 背景の透明度 animate: true, // アニメーション効果の有無 resizeSpeed: 8, // リサイズ時のアニメーションの速度 (1=最遅 10=最速) borderSize: 10, // 枠の大きさ // 画像をグループ化したときに表示されるラベルのテキスト labelImage: "Image", labelOf: "of" }, window.LightboxOptions || {});
画像をグループ化したときに表示されるラベル
画像をクリックすると、Lightbox2の実行例を確認できます。