2014-09-10 2 views
0

페이지의 맨 위로 부드럽게 스크롤하기위한 자바 스크립트 애니메이션이 있습니다. 애니메이션의 끝에서 .focus() 함수를 사용하여 양식 필드에 집중할 수 있습니다. 초점은 약간의 저주를 일으키는 것입니다. 연구 끝에 애니메이션에 대한 콜백을 통해 문제를 해결할 수 있다는 것을 알았습니다. 어떻게해야할지 모르겠다. 어떤 도움이라도 대단히 감사합니다.자바 스크립트 애니메이션을 다시 호출

$(".scroll").click(function(event){ 
    event.preventDefault(); 
    //calculate destination place 
    var dest=0; 
    if($(this.hash).offset().top > $(document).height()-$(window).height()){ 
      dest=$(document).height()-$(window).height(); 
    }else{ 
      dest=$(this.hash).offset().top; 
    } 
    //go to destination 
    $('html,body').animate({scrollTop:dest}, 1000,'swing'); 

    $('input#Name_First').focus(); 
}); 

http://jsfiddle.net/1kbph7q3/

+1

'$ (".scroll")'은 jsFiddle에서 아무 것도 찾습니다. – Halcyon

+3

jQuery 문서를 읽는 것은 어떻습니까? 함수 서명 (즉, 함수가받는 인수)을 설명 할뿐만 아니라 콜백을 추가하는 방법을 보여주는 예제도 제공합니다. http://api.jquery.com/animate/ –

답변

1

이 두 질문에 대한 의견은 정확합니다.

을 Heres 작업 JS 바이올린 : http://jsfiddle.net/got29e9v/1/

  1. 첫 번째 오류는 앵커 링크가 .scroll의 클래스를 필요로했다.
  2. 또한 JS 피들 (jiddle)은 JQuery를 사용하지 않았기 때문에 JavaScript가이를 사용하려고했습니다.
  3. 나는 animate 메서드에 콜백 함수를 추가했습니다. 이것은 애니메이션이 완료 될 때 호출됩니다.

희망이 있습니다.

+0

동의합니다. 내 코드를 바이올린에 복사하는 동안 수업을 추가하지 못할 수도 있습니다. 사과드립니다. 코드 스 니퍼가 도움이되었습니다. 고맙습니다. – user3861559