Top > January 13, 2006

Lightbox JS で画像を表示する

January 13,2006 11:55 PM
Category:[Lightbox JS]
Tag:[, , , , , ]
Permalink
Lightbox JS サンプルサムネールをクリックすると同一ウィンドウ上に画像を表示するという Lightbox JS です。ご質問を頂いて知ったのですが結構広まっているようです。
ということでこのエントリーにてご紹介したいと思います。

2006.10.10 追記機能改善された Litebox 1.0 の記事「Litebox 1.0 をブログに適用する」を公開しています。

0.動作

公式サイトでも確認できますが、とりあえず上のサムネイルをクリックしてください。ローディング画像が表示された後、元画像が表示されるという、お洒落なスクリプトです。
表示された画像をクリックすると元の画面に戻ります。一度表示された画像を再度クリックするとローディング画像は表示されません。

以下、このスクリプトの設定方法です。

1.ファイルのダウンロード

動作に必要なファイル(スクリプト・スタイルシート・画像)をダウンロードします。
まず下記のサイトへ進んでください。

Lightbox JS

表示されたページ一番下にある「DOWNLOAD」より下記のファイルをダウンロードできるようになってますので、それぞれのリンクをクリックしてください(IEであれば右クリックして「対象をファイルに保存」を選択)。

  • lightbox.js - JavaScriptファイル
  • lightbox.css - スタイルシート
  • overlay.png - オーバーレイ表示するための背景画像
  • loading.gif - ローディング中に表示する画像
  • close.gif - 閉じるマーク画像

2.ファイルのアップロード

ダウンロードした全てのファイル・画像を index.html と同じディレクトリにアップロードします。

Movable Type に適用させる場合の修正
Lightbox JS の Movable Type での不具合を修正するを参照ください。

FC2ブログに適用させる場合の修正
FC2ブログではファイルのアップロード先が決まっているため、lightbox.js の36行目辺りにある記述に青色部分を追加します。

var loadingImage = 'file/loading.gif';

また、lightbox.css についても、下記のように最後から2行目の部分に青色部分を追加します。

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="file/overlay.png", sizingMethod="scale");

3.テンプレートの修正

lightbox.js を有効にするため、テンプレートの <head>~</head> の間に下記を追加します。

Movable Type の場合

<script type="text/javascript" src="<$MTBlogURL$>lightbox.js"></script>

Serene Bach / sb の場合

<script type="text/javascript" src="{site_top}lightbox.js"></script>

FC2ブログの場合

<script type="text/javascript" src="<%url>file/lightbox.js"></script>

またスタイルシートを読み込ませるために、light.css の中身を現在利用中のスタイルシートにコピー&ペーストするか、下記のタグを <head>~</head> 追加します。挿入位置は現在のスタイルシートを読み込んでいる link 要素のすぐ下が良いでしょう。

Movable Type の場合

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

Serene Bach / sb の場合

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

FC2ブログの場合

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

4.リンクの設定

Lightbox JS を利用したい画像リンクやテキストリンクに、青色で示すように rel 属性を与えます。またオーバレイ表示させる元の画像も用意しておいてください。

<a href="hogehoge.jpg" rel="lightbox"><img src="thumbnail.jpg" alt="…" ></a>

これでリンクをクリックすればサンプルと同じ動作を行えるようになります。

5.不具合について

注:本項の内容は解消されているようです。
IEでは半透明の背景がページ全体をうまく覆うことができない場合があるようです。下記のサイトで修正方法が紹介されていますが、いくつかの試験サイトで設定したところ、IEでも正常に表示される時もありました(原因不明)。

えび日記Ligthbox JSを組み込んでみたけど、ちょっとおかしいのでちょっといじる。

またOpera8では iframe 部分等に半透明の背景が適用されませんでした。Firefoxは正常に表示されるようです。

6.ツールチップの文字を修正する

元画像が表示されると「Click to close」というツールチップが表示されますが、この言葉を変更したい場合は、lightbox.js の309行目辺りにある

objLink.setAttribute('title','Click to close');

objLink.setAttribute('title','画像をクリックすると元の画面に戻ります');

という具合に変更します。日本語を設定する場合は、lightbox.js をブログと同じ文字コードで保存するか、

<script type="text/javascript" src="<$MTBlogURL$>lightbox.js" charset="Shift_JIS"></script>

と、スクリプトの文字コードを設定します。

7.Flash ムービーが背景画像に隠れない問題について

プログペット等の Flash は拡大画像を表示した際、背景となる PNG 画像の上に表示されるという問題があります。この問題を解消するには Lightbox JS でブログパーツ等の Flash を隠すカスタマイズを参照ください(動作を保証する内容ではありません)。

以上です。
2項のCSS修正についてはSmallStyleLightbox JS での 背景画像 (overlay.png) の配置場所を参考にさせて頂きました。またサンプル画像はEyesPicより頂きました。ありがとうございました。

2006.03.17 追記
7項を追加しました。また記述の一部を修正しました。

Comments [45] | Trackbacks [47]
Now loading...
List of "Jan 13, 2006"
QRcode

現在停止中です
携帯電話からこのQRcodeを撮影することで携帯用URLを取得することができます

URI for cellular phones
ギターに入った猫
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site
検索スパム防止のため、検索フォーム使用方法を変更しています(説明記事

このブログをメールで購読する by:FeedBurner

loading ...
BlogPeople
Now loading...
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
クリエイティブ・コモンズ・ライセンス
 
List Me!