jQuery delay reset
delay 셋팅 이후 초기화를 하고 싶다.
jQuery delay reset
jQuery delay 는 무엇인가?
delay() | jQuery API Documentation
- delay는 setTimeout과 같은 개념인대, animate를 사용할 때 시차를 두고 실행하게 된다.
- delay(millisecond, name) 이렇게 사용하면 된다. 자세한 사용법은 늘 그렇듯이 documentation을 참고하면 좋다.
delay 초기화는?
- element에 delay를 셋팅한 이후에는 계속해서 delay가 먹는 이슈를 만나게 되었다
1 2 3 4
$('.element').delay(3000).fadeIn(800); $('.element close').click(function() { $(this).closest('.element').fadeOut(800); });
- 위의 경우에서 [close] 를 클릭하면 delay없이 fadeout되기를 기대하게 되지.
- 하지만, 한번적용된 delay는 계속해서 적용되게 되어 있었다.
- 그래서, 아래와 같이 수정하였다.
1
$(this).closest('.element').stop().fadeOut(800);
- stop() 을 사용하여 delay를 멈춰준것.
stop()은 무엇인가?
stop() | jQuery API Documentation
- 간단하게 설명하자면, 실행 중인(혹은 적용 된) 애니메이션을 그 즉시 정지 시킴. 이라고 설명되어 있다.
- 적용되어 있는 delay를 stop으로 정지 시키고, fadeOut을 실행한것이다.
This post is licensed under CC BY 4.0 by the author.