今日は、Lightbox JS 2.0のちょっとしたカスタマイズを紹介したいと思います。
なぜかというと、結構前にLightboxの設置方法を書いた記事にradarさんがコメントしてくれたことからです。
それと、もう一つ質問があるんですが、
恐らくコレの前のバージョンだと思うんですが
↓コレです
http://www.huddletogether.com/projects/lightbox/
このように元画像がlightboxにより表示されたあと、その元画像をクリックすることによってcloseする。
というのを2.0に導入することは可能でしょうか?
そういえば、1.0だと、画像クリックで閉じられるんだっけ。
この機能を2.0に実装できないものか・・・。
lightbox.js を変えればできると思うんだけど・・・。
僕、そこらへん苦手なんだw JavaScriptってあまりいじったこと無い。
だけど、やってみようと言うことで早速挑戦。
・・・・・・・。一時は、できないかと思ったけど・・・。
結果はこちら。(下の画像を開いて、画像の部分をクリックしてみてください!)
でけた~~~~~~。やったど~~~~~~。
なわけで、画像クリックで閉じることができる方法を紹介したいと思います。
ほんの、一行加えるだけです。
Lightbox JS 2.0~Lightbox JS 2.0 で 1.0 みたいに画像クリックで閉じるれるようにする方法~
まず、Lightbox.JSを開いてください。
次に、231行目の
var objLightbox = document.createElement("div");
objLightbox.setAttribute('id','lightbox');
objLightbox.style.display = 'none';
objBody.appendChild(objLightbox);
の下に次の文を追加します。
objLightbox.onclick = function() { myLightbox.end(); return false; }
たったこれだけです。
JavaScript無知な僕でも、通常のプログラミングと同じようなカンを使ってやってみたら、どうかなりました。
もし、これで間違っていましたら、コメントかメールください。
Lightboxもっと改造したいなぁ・・・。
Lightbox JS 2.0追記:
この方法にも、弊害があることが判明。
それは、2.0特有のグループ機能が使えなくなってしまう。
現在、対策を考え中です。


おぉ~、すごいできるようになってる!
ご苦労様です!まだ、問題もあるようですが早いですね~。自分もいじってみましたが駄目でした。
ところで、いろいろいじったせいかわかりませんが、背景のoverlay画像が表示されなくなってしまったんですが何が問題でしょうか?
直せなかったので、一度全部サーバーから削除して、新しいファイルを落として始めからやってみたんですが駄目でした。
どういたしまして。割と簡単で、僕もびっくりしちゃいましたw
>背景のoverlay画像が表示されなくなってしまったんですが何が問題でしょうか?
CSSやJavaScriptのファイルへのパスをきちんとヘッダー部分に記述できているでしょうか?
<link rel="stylesheet" href="http://自分のサイトのURL/lightbox/css/lightbox.css" type="text/css" />
<script type="text/javascript" src="http://自分のサイトのURL/lightbox/js/prototype.js"></script>
<script type="text/javascript" src="http://自分のサイトのURL/lightbox/js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="http://自分のサイトのURL/lightbox/js/lightbox.js"></script>
この4つが、HTMLのヘッダー部分に記述されていないと、オーバーレイが表示できなかったりするかもしれません。