[javascript] 자바스크립트와 GreenSock을 이용한 드래그 앤 드롭 효과를 사용한 팝업 창 구현 방법
이번 블로그 포스트에서는 자바스크립트와 GreenSock을 사용하여 드래그 앤 드롭 효과와 함께 팝업 창을 구현하는 방법을 소개하겠습니다.
GreenSock(GSAP)이란?
GreenSock Animation Platform(GSAP)은 HTML5/JavaScript 애니메이션을 만들기 위한 강력한 라이브러리입니다. GSAP은 훌륭한 애니메이션 도구를 제공하며, 특히 드래그 앤 드롭 효과를 구현하고자 할 때 매우 유용합니다.
팝업 창 구현 방법
HTML 마크업 준비
먼저 팝업 창을 위한 HTML 마크업을 준비해야 합니다. 예를 들어, 다음과 같은 코드를 사용할 수 있습니다:
<div class="popup">
<div class="popup-content">
<h2>팝업 제목</h2>
<p>팝업 내용</p>
<button class="close-btn">닫기</button>
</div>
</div>
CSS 스타일 작성
팝업 창에 CSS 스타일을 적용하여 디자인을 정의합니다. 예를 들어, 다음과 같은 코드를 사용할 수 있습니다:
.popup {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: #fff;
border: 1px solid #ccc;
padding: 20px;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.popup-content {
text-align: center;
}
.close-btn {
margin-top: 20px;
}
드래그 앤 드롭 효과 구현
이제 자바스크립트 코드를 사용하여 드래그 앤 드롭 효과를 구현해보겠습니다. GreenSock(GSAP) 라이브러리를 사용하여 애니메이션을 적용할 수 있습니다.
// 팝업 요소 선택
const popup = document.querySelector('.popup');
// 드래그 앤 드롭 효과 적용
Draggable.create(popup, {
type: 'x,y',
edgeResistance: 0.65,
bounds: window,
});
// 팝업 닫기 버튼 클릭 이벤트 핸들러
const closeBtn = document.querySelector('.close-btn');
closeBtn.addEventListener('click', () => {
// 팝업 창 숨김 처리
popup.style.display = 'none';
});
위의 자바스크립트 코드는 Draggable
객체를 생성하여 팝업 창에 드래그 앤 드롭 효과를 적용합니다. 이렇게 하면 사용자가 팝업 창을 마음대로 이동할 수 있습니다. 또한, 팝업 창의 “닫기” 버튼 클릭 시 팝업이 숨겨지도록 처리되므로 UX를 개선할 수 있습니다.
결론
이번 포스트에서는 자바스크립트와 GreenSock을 이용하여 드래그 앤 드롭 효과를 사용한 팝업 창을 구현하는 방법을 알아보았습니다. GSAP은 훌륭한 애니메이션 라이브러리로서 다양한 상황에서 유용하게 활용될 수 있습니다. 자세한 내용은 GreenSock 공식 문서를 참조하시기 바랍니다.