JAVASCRIPT
jQuery 레이어 팝업(modal window) 띄울 때 전체를 덮는 반투명 검은 막(black mask) 만들기
Dayis
2012. 1. 6. 11:10
<
html
>
<
head
>
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=utf-8"
>
<
style
>
#mask {
position:absolute;
z-index:9000;
background-color:#000;
display:none;
left:0;
top:0;
}
.window{
display: none;
position:absolute;
left:100px;
top:100px;
z-index:10000;
}
</
style
>
<script>
function
wrapWindowByMask(){
//화면의 높이와 너비를 구한다.
var
maskHeight = $(document).height();
var
maskWidth = $(window).width();
//마스크의 높이와 너비를 화면 것으로 만들어 전체 화면을 채운다.
$(
'#mask'
).css({
'width'
:maskWidth,
'height'
:maskHeight});
//애니메이션 효과 - 일단 1초동안 까맣게 됐다가 80% 불투명도로 간다.
$(
'#mask'
).fadeIn(1000);
$(
'#mask'
).fadeTo(
"slow"
,0.8);
//윈도우 같은 거 띄운다.
$(
'.window'
).show();
}
$(document).ready(
function
(){
//검은 막 띄우기
$(
'.openMask'
).click(
function
(e){
e.preventDefault();
wrapWindowByMask();
});
//닫기 버튼을 눌렀을 때
$(
'.window .close'
).click(
function
(e) {
//링크 기본동작은 작동하지 않도록 한다.
e.preventDefault();
$(
'#mask, .window'
).hide();
});
//검은 막을 눌렀을 때
$(
'#mask'
).click(
function
() {
$(
this
).hide();
$(
'.window'
).hide();
});
});
</script>
</
head
>
<
body
>
<
div
id
=
"mask"
></
div
>
<
div
class
=
"window"
>
<
input
type
=
"button"
href
=
"#"
class
=
"close"
value
=
"나는야 닫기 버튼(.window .close)"
/>
</
div
>
<
a
href
=
"#"
class
=
"openMask"
>검은 막 띄우기</
a
>
</
body
>
</
html
>