2013-10-04 5 views
0

저는 jQuery에 익숙하지 않아 다음 코드를 사용할 수 없습니다. div 내의 특정 단락의 스크롤을 애니메이션으로 만들고 싶지만 어떻게 든 애니메이션이 실행되지 않습니다. div 내에서 단락 상단으로 스크롤하는 방법?

은이 바이올린의 코드를 찾아주세요 :

http://jsfiddle.net/SgNpP/9/

$(document).ready(function(){ 
$('#div1').scroll(function() {  
    var par1toTop = $('#par1').position().top; 
    if ($('#div1').scrollTop() >= par1toTop) { 
    var par5toTop = $('#par5').position().top; 
     if ($('#div2').scrollTop() != par5toTop && par5toTop != 0) { 
      //why can't I animate the scrolling here? 
      $('#div2').animate({scrollTop(par5toTop)}, 800); 
     } 
    } 
}); 
}); 

답변

0
$('#aID').get(0).scrollIntoView(); 

이 작동 내가 현재 가지고 코드 ...하지만 링크가 앵커 객체가 아닌 사업부이다. 그것을 밖으로 시도 :

을 그런 다음 ... 특정 ID 또는 빈 앵커 태그로 첫 번째 요소를 설정을 선택하고 또는 당신이 다른 두 가지 옵션이 있습니다


scrollIntoView

를 사용할 수 있습니다.

1) 애니메이션 scrollintoview() jQuery 플러그인.

function Scroll_To(elem, pos) 
{ 
    var y = elem.scrollTop; 
    y += (pos - y) * 0.3; 
    if (Math.abs(y-pos) < 2) 
    { 
     elem.scrollTop = pos; 
     return; 
    } 
    elem.scrollTop = y; 
    setTimeout(Scroll_To, 40, elem, pos); 
} 

두 대안은이 게시물에서 찾을 수 있습니다

2) : scrollintoview animation

관련 문제