2013-10-11 4 views
0

그래서 나는이 코드를 가지고 ..jQuery UI 슬라이드 애니메이션을 취소 하시겠습니까?

$('.hover-img').hover(function(e) { 
    $(this).show("slide", { direction : "left" }, 500); 
}); 

$('.hover-img').mouseleave(function(e) { 
    $(this).stop(true, true).hide("slide", { direction : "left" }, 500); 
}); 

사용자의 마우스가 슬라이드 애니메이션이 완료 완료하기 전에, 난 그냥 중지하고 다른 방법으로 다시 가고 싶은 이미지를 떠난다. 이것은 일반적으로 어떻게 할 것이지만 jQuery UI 슬라이드 효과를 사용할 때 작동하지 않는 것 같습니다.

왜 작동하지 않습니까? 감사합니다

답변

0

시도하여 ...

.stop(true, false) 

는 애니메이션이 반전하기 전에 끝에 스냅하지 않도록합니다. 또한 호버 핸들러에서 $ .stop()을 사용해야합니다. 또한

$('.hover-img').hover(function(e) { 
    $(this).stop(true, false).show(...); 
}); 

$('.hover-img').mouseleave(function(e) { 
    $(this).stop(true, false).hide(...); 
}); 

, $ .animate() http://jsfiddle.net/fjVDy/1/

과 $ .stop()를 사용하는 예를 들어,이 표시 JSFiddle
관련 문제