본문 바로가기

개발/javascript

[JS]modal만들기

모달창이란?

컴퓨터 프로그램에서 사용되는 일종의 창으로, 사용자가 이 창을 닫기 전까지 다른 창과 상호작용할 수 없게 만듭니다. 일반적으로 중요한 정보를 표시하거나 사용자로부터 특정 입력을 받기 위해 사용됩니다. 예를 들어, 확인 대화 상자, 경고 메시지, 또는 로그인 창 등이 모달 창의 예입니다.

 

index.html

<body>
    <!-- hero -->
    <header class="hero">
      <div class="banner">
        <h1>modal project</h1>
        <button class="btn modal-btn">
          open modal
        </button>
      </div>
    </header>
    <!-- modal -->
    <div class="modal-overlay">
      <div class="modal-container">
        <h3>modal content</h3>
        <button class="close-btn"><i class="fas fa-times"></i></button>
      </div>
    </div>
    <!-- javascript -->
    <script src="app.js"></script>
  </body>

index에서 body에 해당하는 부분의 코드이다. 

hero에 해당하는 부분은 모달 버튼을 눌러지기 이전의 기본 화면에 해당한다. 

그리고 modal에 해당하는 부분이 버튼을 눌렀을 때 화면이 펼쳐 지는 부분이다. 

 

JS

 

1. 선택자 입력

각각의 클래스에 선택자를 입력한다.

const modalBtn = document.querySelector(".modal-btn");
const modal = document.querySelector(".modal-overlay");
const closeBtn = document.querySelector(".close-btn");

 

2. 이벤트 할당 

modalBtn.addEventListener("click", function () {
  modal.classList.add("open-modal");
});
closeBtn.addEventListener("click", function () {
  modal.classList.remove("open-modal");
});

- modalBtn에 "click"이 발생하게 되면 modal의 클래스인 .open-modal이 추가되고

- closeBtn에 "click"이 발생하게 되면 제거된다

 

사실 버튼을 통해 창을 발생시키고 사라지게 하는 매우 간단한 실습이다. 

 

'개발 > javascript' 카테고리의 다른 글

[JS]날씨앱을 만들어 보자  (2) 2024.09.04
[JS]FAQ만들기  (0) 2024.06.24
[JS] 사이드 바 만들기  (0) 2024.06.16
[JS] 반응형 네비게이션바  (0) 2024.06.09
[JS] Review Carousel 리뷰캐러셀  (1) 2024.06.08