[jQuery] .animate() 함수에서 .stop() 함수의 중요성
반응형
[jQuery] .animate() 함수에서 .stop() 함수의 중요성
jQuery 에서 .animate() 함수를 구현할 때 흔히 만나게 되는 문제가 하나 있다.
바로 애니메이션 큐(queue) 이다.
예를 들어, 네이게이션 메뉴에 마우스 오버가 되면 애니메이션이 동작하게 코딩이 된 경우,
마우스를 여러번 움직일때, 이전 애니메이션이 멈추기 전까지 애니메이션이 동작하지 않는 현상이 바로 애니메이션 큐로 인해 발생하는 문제이다.
이러한 문제를 해결하기 위해 .stop() 함수를 사용한다.
.stop() : 현재 동작하고 있는 애니메이션은 즉시 동작이 중단 된다.
.stop() 함수 사용하는 방법
$("#element").stop().animate( { width: "200px" }, 500);
아래 예제를 통해 실제로 한번 보자.
각 항목에 마우스를 위아래로 여러차례 빠르게 움직여 보면 .stop() 함수를 사용하기 전과 후의 차이를 정확하게 확인 할 수 있다.
$(".stop li").hover(
function () {
$(this).stop().animate({width:"200px"},500);
},
function () {
$(this).stop().animate({width:"50px"},500);
}
);
.stop() 함수는 현재 동작하는 애니메이션에 대해서만 동작을 중단하기 때문에
다른 종류의 큐(queue)를 중단하고 싶다면 .clearQueue() 함수를 대신 사용해야 한다.
반응형
'develop > jquery' 카테고리의 다른 글
[jQuery] .append() 와 .appendTo() vs .prepend() 와 .prependTo() 의 차이 (0) | 2017.11.16 |
---|---|
[jQuery] ajax 사용하는 방법 (0) | 2017.10.30 |
TAGS.