
div์์ ๋ด์ฉ์ ๋ณด์ด์ง ์๊ฒ ์ค์ ํด๋์๋ค๊ฐ(display : none) ๋ฒํผ์ ํด๋ฆญํ์๋ ๋ณด์ด๋๋กํ๋ (display:block) ๊ธฐ๋ฅ์
๋๋ค!
์ฌ๊ธฐ์ ๋ค์ด๊ฐ๋ ๊ฐ๋
์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
[CSS] ์ ํ์
id = "layer" -> #layer
class = "layer" ->.layer
[CSS] style - display : none <--> block
display: none
display: block
[Javascript] DOM - document.getElementBy..
document ๊ฐ์ฒด์ ๋ฉ์๋
getElementsByTagName(): ํด๋น ํ๊ทธ ์ด๋ฆ์ ์์๋ฅผ ๋ชจ๋ ์ ํํด ๋ฐฐ์ด๋ก ์ ์ฅ
getElementById(): ํด๋น ์์ด๋์ ์์๋ฅผ ์ ํ
getElementsByClassname(): ํด๋น ํด๋์ค์ ์ํ ์์๋ฅผ ๋ชจ๋ ์ ํํด ๋ฐฐ์ด๋ก ์ ์ฅ
getElementsByName(): ํด๋น name ์์ฑ๊ฐ์ ๊ฐ์ง๋ ์์๋ฅผ ๋ชจ๋ ์ ํํด ๋ฐฐ์ด๋ก ์ ์ฅ
querySelectorAll(): ์ ํ์๋ก ์ ํ๋๋ ์์๋ฅผ ๋ชจ๋ ์ ํํด ๋ฐฐ์ด๋ก ์ ์ฅ
[Javascript] function
function openLayer(){
document.getElementById('popup_layer').style.display='block';
}
function closeLayer(){
document.getElementById('popup_layer').style.display='none';
}
์ด๋ฒคํธ ๋ฑ๋ก
๊ฐ์ฒด.addEventListner(์ด๋ฒคํธ๋ช , ์คํํ ์ด๋ฒคํธ๋ฆฌ์ค๋, ์ด๋ฒคํธ์ ํ๋ฐฉ์);
์ด๋ฒคํธ ํ์ : ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ฅผ ๋ฑ๋กํ ์ด๋ฒคํธ ํ์
์คํํ ์ด๋ฒคํธ ๋ฆฌ์ค๋ : ์ง์ ๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ์คํํ ์ด๋ฒคํธ ๋ฆฌ์ค๋
์ด๋ฒคํธ ์ ํ ๋ฐฉ์ : false๋ฉด ๋ฒ๋ธ๋ง(bubbling) ๋ฐฉ์, true๋ฉด ์บก์ฒ๋ง(capturing) ๋ฐฉ์์ด๋ฒคํธ ์ ๊ฑฐ
๊ฐ์ฒด.removeEventListner(์ด๋ฒคํธํ์ , ์ด๋ฒคํธ๋ฆฌ์ค๋);
step1.๋ ์ด์ด div์ ๋ง๋ค๊ณ id ๋ถ์ด๊ธฐ - ๋ ์ด์ด์ ์ด๊ธฐ์ํ๋ฅผ ๋ณด์ด์ง ์๊ฒ ์จ๊ธฐ๊ธฐ
<div class="popup_layer" id="popup_layer" style="display: none;">
์คํ์ผ ์ค์ ์ด ํต์ฌ!
.popup_overlay{position: fixed;} //์คํฌ๋กค์ด ๊ธธ๋ ์ ์๋ฆฌ์ ๋ ์๋๋ก .popup_box{position: absolute; top:50%; left:50%; transform:translate(-50%, -50%);} // ํ์ ์ฐฝ ํ๋ฉด์ด ๊ฐ์ด๋ฐ์ ๋ ์๋๋ก .popup_btn {display:table; table-layout: fixed;} //๋ฒํผ์ด ๋ช๊ฐ๋ก ๋์ด๋๋ ๊ฐ๊ฒฉ ๋ง์ถฐ ์ ๋ ฌ .popup_btn a{display: table-cell;}
step2. ๋ ์ด์ด์์ ์ํ๋ ๋ด์ฉ ์ฑ์ฐ๊ธฐ
step3. aํ๊ทธ href๋ฅผ ํตํด ์์ฑํ ํจ์์ ํธ์ถ
<a href="javascript:openPop()">์ ์ฐ๊ณ์ข ๋ฑ๋ก</a>
<a href="javascript:closePop();">๋ซ๊ธฐ</a>
step4. ์๋ฐ ์คํฌ๋ฆฝํธ ํจ์ ์์ฑ
<script>
function openPop(){
document.getElementById('popup_layer').style.display='block';
}
function closePop(){
document.getElementById('popup_layer').style.display='none';
}
</script>
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>์ ์ฐ๊ณ์ข ๋ฑ๋ก</title>
</head>
<style>
/*popup*/
.popup_layer {position:fixed;top:0;left:0;z-index: 10000; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4); }
/*ํ์
๋ฐ์ค*/
.popup_box{position: relative;top:50%;left:50%; overflow: auto; height: 600px; width:375px;transform:translate(-50%, -50%);z-index:1002;box-sizing:border-box;background:#fff;box-shadow: 2px 5px 10px 0px rgba(0,0,0,0.35);-webkit-box-shadow: 2px 5px 10px 0px rgba(0,0,0,0.35);-moz-box-shadow: 2px 5px 10px 0px rgba(0,0,0,0.35);}
/*์ปจํ
์ธ ์์ญ*/
.popup_box .popup_cont {padding:50px;line-height:1.4rem;font-size:14px; }
.popup_box .popup_cont h2 {padding:15px 0;color:#333;margin:0;}
.popup_box .popup_cont p{ border-top: 1px solid #666;padding-top: 30px;}
/*์ค๋ฒ๋ ์ด ๋ท๋ฐฐ๊ฒฝ*/
.popup_overlay{position:fixed;top:0px;right:0;left:0;bottom:0;z-index:1001;;background:rgba(0,0,0,0.5);}
/*popup*/
</style>
<body>
<a href="javascript:openPop()">์ ์ฐ๊ณ์ข ๋ฑ๋ก</a>
<div class="popup_layer" id="popup_layer" style="display: none;">
<div class="popup_box">
<div style="height: 10px; width: 375px; float: top;">
<a href="javascript:closePop();"><span class="m_header-banner-close" width="30px" height="30px">x</span></a>
</div>
<!--ํ์
์ปจํ
์ธ ์์ญ ์์ -->
<div class="popup_cont">
<div class="account_registration">
<div class="input_logistics_companies input_box">
<h3 class="input_title">์ํ๋ช
</h3>
<div class="input_item">
<div class="bank_option open">
<label class="selected_txt" id="selected_txt">
<span>์ํ ์ ํ</span>
</label>
<select id="bank_select" name="bank">
<option value="๊ตญ๋ฏผ์ํ"> ๊ตญ๋ฏผ์ํ </option>
<option value="์ ํ์ํ"> ์ ํ์ํ </option>
<option value="์ฐ๋ฆฌ์ํ"> ์ฐ๋ฆฌ์ํ </option>
<option value="ํ๋์ํ"> ํ๋์ํ </option>
<option value="๊ธฐ์
์ํ"> ๊ธฐ์
์ํ </option>
<option value="๋ํ์ํ"> ๋ํ์ํ </option>
<option value="SC์ํ"> SC์ํ </option>
<option value="ํ๊ตญ์จํฐ์ํ"> ํ๊ตญ์จํฐ์ํ </option>
<option value="์ฐ์ฒด๊ตญ"> ์ฐ์ฒด๊ตญ </option>
<option value="๋ํ์ํ"> ๋ํ์ํ </option>
<option value="์ฐ์
์ํ"> ์ฐ์
์ํ </option>
<option value="๋ถ์ฐ์ํ"> ๋ถ์ฐ์ํ </option>
<option value="์นด์นด์ค๋ฑ
ํฌ"> ์นด์นด์ค๋ฑ
ํฌ </option>
<option value="๋๊ตฌ์ํ"> ๋๊ตฌ์ํ </option>
<option value="์ผ์ด๋ฑ
ํฌ"> ์ผ์ด๋ฑ
ํฌ </option>
<option value="๊ด์ฃผ์ํ"> ๊ด์ฃผ์ํ </option>
<option value="์ ์ฃผ์ํ"> ์ ์ฃผ์ํ </option>
<option value="์ํ์ค์ํ"> ์ํ์ค์ํ </option>
<option value="์ ๋ถ์ํ"> ์ ๋ถ์ํ </option>
<option value="์ง์ญ๋์ถํ"> ์ง์ญ๋์ถํ </option>
<option value="๊ฒฝ๋จ์ํ"> ๊ฒฝ๋จ์ํ </option>
<option value="์๋ง์๊ธ๊ณ ์ฐํฉํ"> ์๋ง์๊ธ๊ณ ์ฐํฉํ </option>
<option value="์ ํ"> ์ ํ </option>
</select>
</div>
</div>
</div>
<div class="input_box" id="account_input_box">
<h3 class="input_title">๊ณ์ข๋ฒํธ</h3>
<div class="input_item">
<input type="text" placeholder="'-' ์์ด ์
๋ ฅํ์ธ์" autocomplete="off" class="input_txt text_fill" id="account_input" name="account_number">
</div>
<p class="input_error" id="account_input_error"></p>
</div>
<div class="input_box" id="name_input_box">
<h3 class="input_title">์๊ธ์ฃผ</h3>
<div class="input_item">
<input type="text" placeholder="์๊ธ์ฃผ๋ช
์ ์ ํํ ์
๋ ฅํ์ธ์." autocomplete="off" class="input_txt text_fill" id="name_input" name="name">
</div>
<p class="input_error" id="name_input_error"></p>
</div>
</div>
<div class="registration_btn_box">
<a disabled="disabled" type="button" class="btn btn_save solid medium disabled"> ์ ์ฅํ๊ธฐ </a><a href="javascript:closePop();">๋ซ๊ธฐ</a>
</div>
</div>
<!--ํ์
์ปจํ
์ธ ์์ญ ๋-->
</div>
</div>
</body>
<script>
function openPop(){
document.getElementById('popup_layer').style.display='block';
}
function closePop(){
document.getElementById('popup_layer').style.display='none';
}
</script>
</html>
step0. head์ jquery ์ถ๊ฐ
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
step1. ๋ ์ด์ด div์ ๋ง๋ค๊ณ id ๋ถ์ด๊ธฐ
step2. div์์ ์ํ๋ ๋ด์ฉ ์ฑ์ฐ๊ธฐ
step3. ๋ฒํผ ๋ง๋ค๊ณ id ๋ถ์ด๊ธฐ (a๋์ ๋ง๋ค๊ธฐ)
<button type="button" id="openModalPop">๋ชจ๋ฌ ๋ ์ด์ดํ์
์ด๊ธฐ</button>
<div id="close_button" style ="cursor: pointer;">x</div>
step4. jquery๋ก ์ด๋ฒคํธ์ ํจ๊ณผ ๋ถ์ฌํ๊ธฐ (javascript ๋์ ๋ฃ๊ธฐ)
๊ธฐ๋ณธ๋ฌธ๋ฒ: https://soft91.tistory.com/9 ์ฐธ๊ณ
//๊ธฐ๋ณธ ํ
$("๋ฒํผ์ ํ์").์ด๋ฒคํธ๋ฑ๋ก๋ฉ์๋(function() {
$("๋ด์ฉ์ฐฝ์ ํ์").ํจ๊ณผ๋ฉ์๋;
$("๋ชจ๋ฌ์ฐฝ์ ํ์").ํจ๊ณผ๋ฉ์๋;
});
<script type="text/javascript">
$(document).ready(function() {
$("#openModalPop").click(function() {
$(".popup_box").fadeIn();
$("#popup_layer").fadeIn();
});
$("#close_button").click(function(){
$(".popup_box").fadeOut();
$("#popup_layer").fadeOut();
});
});
</script>