Front-End/JavaScript | jQuery | AJAX

08. 다양한 효과와 애니메이션

Yerin Thea Yoo 2026. 2. 17. 00:41

jQuery는 요소의 표시/숨김, 이동, 크기 반경 등을 간단한 메서드로 처리할 수 있도록 지원한다.

 

1. 효과 및 애니메이션 메서드

1) 효과 메서드

요소를 단순히 보이거나 숨기는 기능이다.

① show() / hide()

$("#box").hide();
$("#box").show();

시간 지정 가능

$("#box").hide(1000);

 

② toggle()

보이기/숨기기를 전환한다.

$("#box").toggle();

 

③ fade 효과

메서드 설명
fadeIn() 서서히 나타남
fadeOut() 서서히 사라짐
fadeToggle() 전환
fadeTo() 투명도 조절
$("#menu").slideToggle(500);

 

2) 애니메이션 메서드

① animate()

CSS 속성을 점진적으로 변경한다.

$("#box").animate({
  width: "200px",
  height: "200px",
  opacity: 0.5
}, 1000);

형식

.animate(속성, 시간, 가속도, 콜백 함수)

 

② 가속도 옵션

  • "linear"
  • "swing" (기본)

 

③ 콜백 함수

애니메이션 종료 후 실행된다.

$("#box").animate({left: "200px"}, 1000, function() {
  alert("완료");
});

 

2. 애니메이션 효과 제어 메서드

1) 애니메이션 효과 제어 메서드란?

실행 중인 애니메이션을 제어하는 기능이다.

 

① stop()

현재 실행 중인 애니메이션을 중지한다.

$("#box").stop();

옵션

.stop(애니메이션 큐 삭제, 현재 애니메이션 완료 여부)

ex.

.stop(true, true);
  • true → 대기 중 애니메이션 제거
  • true → 현재 애니메이션 즉시 완료

 

② delay()

애니메이션의 실행을 지연한다.

$("#box").delay(500).fadeOut();

 

③ finish()

대기 중인 애니메이션을 포함하여 즉시 종료한다.

$("#box").finish();

 

④ clearQueue()

대기열에 있는 애니메이션을 제거한다.

$("#box").clearQueue();