Blogs

北京オリンピック < 一覧 > iPhone讃歌

今頃になってLightbox Jsに感動する、の巻

ソフト・ハード


最近あちこちのサイトの画像表示法として使われているLightbox Jsを
今更ながら初めて触ってみた。

Lightbox

まず仕事で作ったサイトに組み込んでみたんだけども、以前は画像ごとに
別ウィンドウで表示させるためにそれぞれ一枚ずつhtmlファイルを
作っていた。
プログラミングのできる人ならテンプレートでページを自動作成、なんて
芸当ができるのかもしれないけど、理系の神に勘当喰らった僕にはまず無理なので
一枚ずつファイルを分けて作る、というアナログ的(?)な方法を
採っていたんである(笑わば笑え…)。

が、それでは当然、見せる画像が増えればファイル数も増えるわけで
管理するのが大変になる。
でも、Lightbox Jsを使えばそんな必要もないし、見栄えも良くFlashより軽い。
ただ、最新バージョンの2.04ではOS9のNetscapeでうまく動かなかったので
2.02を調達してきたが、それでも素晴らしい。
何がって、こういうものを開発できる人の才能が素晴らしい。
どうりであちこちで使われているはずだ。しかも無料だし簡単。

で、いそいそと自分のサイトのギャラリーコーナーにも組み込んでみた。
憂世絵画楼
もともとはギャラリーだけ別ウィンドウで開き、小さい画像をクリックすれば
大きい画像が開く、という方式にしていたので、そのウィンドウ用のファイルだけ
Dreamweaverのテンプレートで作っていた。
が、これも画像が増えるたびにファイルを作らなければならず、それが億劫だったけど
(そもそもサイト管理以外でDreamweaver使いたくないのだ、重いし。)
これで思い切り楽になった。

あまりにも感動した僕は寄付でもしようか、と思ったのだか、何故かうまくいかず断念。

難点は僕自身Javascriptがさっぱりわからない人間のため、カスタマイズがままならない、
ということと、何故かFirefoxだけは元ページにあるスクロールバーが見えてしまい、
横長のデータだと画像の上にスクロールバーが来てしまう、ということ。
これはブラウザ固有の問題だろうか。

だれか簡単にいじれる方法知ってる方いません?

-----------------------------------------------------------
LightBox Jsカスタマイズについて追記です。
PREVボタン、NEXTボタン、CLOSEボタンの変更と背景色の変更ぐらいなら
CSSが読めれば問題ないと思うので割愛します。

ただ、これだけだとあまりにも「そのまんま」なので、画像の上に
ギャラリー(憂世絵画楼)のロゴを入れてみる。

まずは必要な画像を作っておく。今回は、サイズは300px×30px。

lightbox.jsの180行目ぐらいに


// The rest of this code inserts html at the bottom of the page that looks similar to this:
//
// <div id="overlay"></div>
// <div id="lightbox">
// <div id="outerImageContainer">
// <div id="imageContainer">
.
.
.

というコメントが30行ほど続いているのが、生成されるLightBox部のhtmlのひな形。
この部分はもちろんコメントなので、スクリプトの挙動には一切関係ないが
作業中、および作業後にわかりやすいように、この部分にロゴ挿入部分の
タグを記しておく。

ロゴを入れるのは
<div id="lightbox">と
<div id="outerImageContainer">の
間に

// <div id="overlay"></div>
// <div id="lightbox">
// // <div id="UkiyoeLogo"></div> ロゴ部分
// <div id="outerImageContainer">
// <div id="imageContainer">

こんな感じ。
挿入した部分は後でわかりやすいように、スラッシュを余分にいれ、
最後にコメント文を入れておく。

その下のJavascriptの部分

var objLightbox = document.createElement("div");
objLightbox.setAttribute('id','lightbox');
objLightbox.style.display = 'none';
objBody.appendChild(objLightbox);



var objOuterImageContainer = document.createElement("div");
objOuterImageContainer.setAttribute('id','outerImageContainer');
objLightbox.appendChild(objOuterImageContainer);
間に

var objUkiyoeLogo = document.createElement("div");
objUkiyoeLogo.setAttribute('id','UkiyoeLogo');
objLightbox.appendChild(objUkiyoeLogo);

をはさみ込む。

var objLightbox = document.createElement("div");
objLightbox.setAttribute('id','lightbox');
objLightbox.style.display = 'none';
objBody.appendChild(objLightbox);

// LOGO
var objUkiyoeLogo = document.createElement("div");
objUkiyoeLogo.setAttribute('id','UkiyoeLogo');
objLightbox.appendChild(objUkiyoeLogo);
//

var objOuterImageContainer = document.createElement("div");
objOuterImageContainer.setAttribute('id','outerImageContainer');
objLightbox.appendChild(objOuterImageContainer);

こんな感じになる。ややこしそうだけど、変わっているのはカッコの中の値だけ、というのが
分かっていただければ、意外と簡単である。
(僕自身、そこ以外はいじれないので…)

次にlightbox.cssに

#UkiyoeLogo{background:transparent url(../images/ukiyoelogo.gif) no-repeat;
width:300px;
height:30px;
margin-left:auto;
margin-right:auto;}

を追記してやる。

尚、 うちのサイトはWinIEで見ると最初からずれているようなので、今回の変更が
ちゃんと見えてるかどうかの保証はしません。
なんか変だな、と思った方はFirefoxなりSafariなりで試してみてください。

Comment

Comment

は必須項目

名前
email
コメント
[5]

これはこれはありがとうございます。
あといくつかアップさせてみます。
でもiPhoneの壁紙っていつも見えてるわけじゃないのが、
ちょっと悲しい…

嵯峨雅彦2008/09/09 21:40:14

[4]

こんにちわ! 
待ちに待ってた嵯峨さまのiPhone壁紙、DLさせていただきましたー!
(昨日迄出張で関西行ってたので出遅れましたが)
ありがたく使わせて頂きますね!!

Ririn2008/09/09 14:15:50

[3]

壁紙、ロフトワークのロゴ入れ忘れてました…

嵯峨雅彦2008/09/08 21:06:28

[2]

早速ありがとうございました。
是非、この壁紙を活用するためにiPhone買ってください(^^;)
iPhoneについてはもうちょいまとめてからブログに画く予定です。

嵯峨雅彦2008/09/08 1:19:52

[1]

壁紙見ましたよ~!超クーーーーールっ!!!☆
…御祝儀返し、では無く単純にカッコよすぎるので速攻ダウンロードさせていただきました!(汗)
いや~~。。これスマートなiPhone画面に似合うだろうなぁぁ♪(感)

本橋ゆうこ2008/09/08 1:17:19

New Comments

海外での展示、どうぞがんばってください!! その頃...

Matrix of the Mind(アゴラ・ギャラリーにて)

やべちひろ

2008/10/29

ニューヨークですか…!!行けないっ(汗 Matri...

Matrix of the Mind(アゴラ・ギャラリーにて)

夜野 月

2008/10/21

Blog View Ranking

1位: iBook G4のハードディスクから異音が…

2年前の阪神優勝セール...

1,808PV

Four Apple

2位: 大阪モーターサイクルショー

初めてモーターサイクル...

1,418PV

3位: 「魍魎の匣」観てきました

京極堂シリーズ第二弾「...

1,382PV

4位: Rimpaと若冲

新年明けてしまいました...

1,350PV

年の初めに

5位: tamkoreのライブ

田村直美さんと是方博邦...

1,207PV

tamkore

プロフィール画像

絵描き

嵯峨雅彦

本業はDTPオペレーターですが、他人の都合による仕事ではなく、全く内発的あるいは内罰的にMacでグラフィックを作ってました。 以前はPhotoshop一辺倒だったのが、今は伊藤若冲に感化され、鶏の絵をillustratorで描いてます。 Webは専門ではなくプログラミングなどはできないものの、Web標準に準拠したXHTML+CSSのハンドコーディングだけはこだわり。 アーティスト気取りのナルシズムって嫌ですからね。

rss RSSフィード
 

Message

制作依頼・感想・作品購入など メッセージを送ることができます