2013-04-22 6 views
0

입력을받는 상자가 있고 keyup의 스크롤 할 수있는 seekTo 메서드를 사용하여 특정 슬라이드로 이동합니다. 문제는 누군가가 빨리 입력하면 스크롤 할 수있는 대기열이 많이 생기고 애니메이션이 멈추는 데 시간이 걸린다는 것입니다.JQuery 도구 스크롤 할 수있는 애니메이션?

내가 원하는 것은 keyup입니다. 입력이 비어 있지 않은 한 이전 애니메이션이 중지되고 새 애니메이션이 시작됩니다. 나는 다양한 장소에 .stop()을 넣으려고했지만 아무것도 작동하지 않는 것 같습니다. http://jsfiddle.net/QaMZH/

상자에 숫자를 넣는 : 여기

은 내가 무엇을하고있어 비슷한의 바이올린입니다 (예 : 1) 다음 다른 번호로 변경 (예 : 2)로 스크롤 애니메이션 것 그 번호를 슬라이드하지만 숫자를 변경하면 끝내기까지 어느 정도 시간이 걸릴 수있는 애니메이션이 빠르게 대기합니다.

답변

1

나는 동일한 문제가 있었고 더 자세한 문서를 검색하고 실패한 후에 코드를 파헤 쳤다.

그것은 당신이 할 필요가 .seekTo() 전에이 전화임을 밝혀 : getItemWrap() 애니메이션이 발생하는 대상의 jQuery 요소를 반환

api.getItemWrap().stop(true, false); 
api.seekTo($(this).val(), 1000); 

.

http://jsfiddle.net/QaMZH/4/ 수정 된 버전의 작동 방법을 참조하십시오.

이 방법은 .seekTo() 메서드가 요소에 대해 jQuery .animation() 메서드를 호출하고 cancel jQuery animations any time with .stop()을 호출 할 수 있기 때문에 효과가 있습니다.

관련 문제