가이드라인
실습
가이드라인

모달의 동작 및 인터랙션

JavaScript를 활용해 모달의 동작 및 인터랙션을 구현해보겠습니다.


기본 동작 원리

모달의 기본적인 동작 원리는 display 속성을 조절함으로써 해당 모달을 사용자에게 보이게 하거나 숨기는 것입니다. 처음에는 display: none;으로 설정되어 있어 화면에 표시되지 않습니다.


모달의 display 속성을 이용한 보이기/숨기기

모달을 보이거나 숨기기 위해 JavaScript를 사용하여 display 속성을 blocknone 사이로 전환할 수 있습니다.

const modal = document.getElementById('modal'); // 모달 보이기 modal.style.display = 'block'; // 모달 숨기기 modal.style.display = 'none';

확대 버튼의 기능

확대 버튼을 클릭하면, 모달 컨텐츠의 크기가 확대됩니다.

이는 특정 클래스 (예: full)를 추가하거나 제거함으로써 구현할 수 있습니다.

const sizeBtn = document.querySelector('.size-btn'); sizeBtn.addEventListener('click', function () { modalContent.classList.toggle('full'); });

확대 버튼 클릭 시의 스타일 변경

full 클래스가 적용되면, 모달 컨텐츠는 화면 전체 크기로 확장되며, 배경색과 기타 스타일이 변경됩니다.

CSS
.modal-content.full { width: 100vw; height: 100vh; background-color: transparent; }

애니메이션 및 전환 효과

모달이 표시될 때, 부드러운 전환 효과가 적용되어 사용자 경험을 향상시킵니다.

모달의 fadeIn 및 scale 효과: 모달 컨텐츠는 서서히 나타나면서 크기가 조절됩니다.

CSS
@keyframes modalContentFadeInScale { from { opacity: 0; transform: scale(0.7); } to { opacity: 1; transform: scale(1); } } .modal-content { animation: modalContentFadeInScale 0.3s ease; }

닫기 아이콘에는 반짝이는 shimmer 효과가 적용되어 있습니다.

CSS
@keyframes shimmer { 0% { background: #e6e6e6; } 50% { background: #f2f2f2; } 100% { background: #e6e6e6; } } .close-img { animation: shimmer 1.5s infinite; }

가이드라인

AI 튜터

배포

디자인

업로드

수업 노트

즐겨찾기

도움말