2014-01-22 7 views
1

웹 페이지에서 scrollTo()을 시도하고 있습니다. scrollTo()을 트리거하는 버튼을 원합니다. 폼의 맨 위로 스크롤하고 첫 번째 입력 필드를 강조 표시합니다.jquery 입력 양식으로 스크롤

현재 코드가 작동하지만 화면이 빠르게 깜박입니다. 나는 preventDefault()을 사용하지 않으려 고 시도했다. 아래 내 코드를 참조하십시오.

$(document).ready(function() { 
    $("#get-started").click(function (e) { 
     e.preventDefault(); 
     $('html, body').animate({ 
      scrollTop: $("#get-risk").offset().top 
     }, 2000); 
     $("#get-started-apply-now-form [name='last_name']").focus(); 
    }); 
}); 
+0

'.animate()'대신'.scrollTo()'를 사용할 수 있습니까? http://flesler.com/jquery/scrollTo/ – ntgCleaner

답변

6

요소에 초점을 맞추면 브라우저는 해당 요소로 스크롤하여 애니메이션을 엉망으로 만듭니다.

피하기 위해 애니메이션 콜백에 포커스를 놓습니다.

$(document).ready(function() { 
    $("#get-started").click(function (e) { 
     e.preventDefault(); 
     $('html, body').animate({ 
      scrollTop: $("#get-risk").offset().top 
     }, 2000, function() { 
      $("#get-started-apply-now-form [name='last_name']").focus(); 
     }); 
    }); 
}); 
+0

감사합니다 adeneo! 애니메이션 콜백에 초점을두면 멋지게 작동합니다! –