プラグイン不要!たった数行でdiv要素にjQueryLightBoxを実装する
プラグイン不要!たった数行でdiv要素にjQueryLightBoxを実装する

久々にjQueryネタ。LightBoxってjQueryプラグインの定番中の定番の気もしますが、プラグインに頼らず超簡単に、Javascript(jQuery)部分はたった数行で書けてしまいますよ!
DEMO
jQuery
あらかじめhead内にjQueryの読み込みだけはして下さいね。
$(document).ready(function(){
//show-panelボタンをクリックしたらLightBoxを表示する
$("a#show-panel").click(function(){
$("#BlackWindow, #lightbox-panel").fadeIn(300);/*表示速度は数値を調整*/
})
//CloseボタンをクリックしたらLightBoxを閉じる
$("a#close-panel").click(function(){
$("#BlackWindow, #lightbox-panel").fadeOut(300);/*フォードアウトの速度は数値を調整*/
})
//背景の黒地をクリックしたらLightBoxを閉じる
$("#BlackWindow").click(function(){
$("#BlackWindow, #lightbox-panel").fadeOut(300);/*フォードアウトの速度は数値を調整*/
})
})
CSS
/* Lightbox で表示させるDIV要素のCSS */
#lightbox-panel {
-moz-border-radius: 6px;
background: #eef2f7;
-webkit-border-radius: 6px;
border: 1px solid #536376;
-webkit-box-shadow: rgba(0,0,0,.6) 0px 2px 12px;
-moz-box-shadow: rgba(0,0,0,.6) 0px 2px 12px;
padding: 14px 22px;
width: 400px;
position:fixed;
top:100px;
left:50%;
display:none;
z-index:10;
border:2px solid #CCCCCC;
padding:10px 15px 10px 15px;
margin-left:-200px;
}
/* Lightbox表示時に背景を黒に */
#BlackWindow{
display:none;
background:#000000;
opacity:0.7;/*黒地の背景の調整はこの数値で調整*/
filter:alpha(opacity=70);/*黒地の背景の調整はこの数値で調整*/
position:absolute;
top:0px;
left:0px;
min-width:100%;
min-height:100%;
z-index:1;
}
HTML
Show
jQueryLightBoxの解説
意外にもjavascriptの記述が大変短いですね。
CSSについて
LightBoxで表示させたいdivなどのBox要素はあらかじめdisplay:noneにしておきます。
また、LightBox表示中は全体を黒地で塗りつぶします。これも普段はdisplay:noneにしておき、アクションが発動した時だけ表示されるようにします。
この時黒地で全体を塗りつぶすBlackWindowがLightBoxとして表示させたいdiv要素まで塗りつぶさないようz-indexで重なり順を指定してあるのです。
jQueryについて
これは読んだそのまんま。#BlackWindowと#lightbox-panelの2つの要素がクリックされたり、閉じるボタンなどを再びクリックするとフェードイン、フェードアウトするだけ。
簡単ですね!