JavaScript, jQuery
jQuery로 간단한 모달 팝업 만들기 – 초보자도 따라하는 실습 가이드
jonbeo
2025. 8. 21. 09:59
반응형
안녕하세요 😊
웹페이지에서 공지사항, 이미지 확대, 로그인 창 등을 띄울 때
모달 팝업은 정말 자주 사용됩니다.
이번 글에서는 jQuery로 간단하게 모달 팝업을 구현하는 방법을 단계별로 안내드립니다.
📍 1. 기본 HTML 구조
<button id="openModal">모달 열기</button>
<div id="myModal" class="modal">
<div class="modal-content">
<span id="closeModal" class="close">×</span>
<h2>모달 제목</h2>
<p>여기에 내용을 작성하세요.</p>
</div>
</div>
- .modal : 모달 전체 영역 (기본적으로 숨김)
- .modal-content : 팝업 내부 내용
- .close : 닫기 버튼
📍 2. CSS 스타일
.modal {
display: none; /* 기본 숨김 */
position: fixed;
z-index: 1000;
left: 0; top: 0;
width: 100%; height: 100%;
background: rgba(0, 0, 0, 0.4);
}
.modal-content {
background: #fff;
margin: 15% auto;
padding: 20px;
width: 400px;
border-radius: 8px;
}
.close {
float: right;
font-size: 24px;
cursor: pointer;
}
📌 팁
- z-index로 다른 요소보다 위에 오도록 설정
- background: rgba(0,0,0,0.4)로 반투명 배경 적용
📍 3. jQuery 스크립트
$(document).ready(function () {
// 모달 열기
$("#openModal").click(function () {
$("#myModal").fadeIn();
});
// 모달 닫기 (X 버튼)
$("#closeModal").click(function () {
$("#myModal").fadeOut();
});
// 모달 영역 바깥 클릭 시 닫기
$(window).click(function (e) {
if ($(e.target).is("#myModal")) {
$("#myModal").fadeOut();
}
});
});
- .fadeIn() / .fadeOut() 으로 부드러운 애니메이션
- 모달 외부 클릭 시 닫히도록 이벤트 처리
📍 4. 추가 기능 아이디어
- ESC 키로 닫기:
$(document).keydown(function (e) {
if (e.key === "Escape") {
$("#myModal").fadeOut();
}
});
- 열릴 때 포커스 이동 → 접근성 강화
- 닫힐 때 스크롤 방지 (overflow: hidden 적용)
📍 5. 실무 적용 팁
- 팝업 내용을 Ajax로 불러와 동적으로 변경 가능
- 여러 모달을 관리하려면 data-id 속성 사용
- CSS로 반응형 스타일 추가해 모바일에서도 사용 가능
✅ 마무리
jQuery를 사용하면 간단한 모달 팝업을
몇 줄의 코드로 구현할 수 있습니다.
UI/UX에 맞춰 스타일을 다듬고,
접근성과 반응형까지 고려하면 실무에서도 충분히 활용 가능합니다. 😊
반응형