2014-10-15 2 views
0

함수/애니메이션을 반복하려고합니다. 페이지를 맨 아래로 스크롤 한 다음 맨 위로 이동하고 무한하게 수행합니다. 나는 그것을 수행하는 코드 만 한 시간이 :애니메이션을 사용하여 무한 루프를 만들고 상단 스크롤을

$(document).ready(pagescroll); 
function pagescroll() { 
    var z = document.getElementById('main_container').clientHeight + 2400; 
    var speed = z * 2; 
    window.scroll(0,0); 
    $('body, html').animate({ scrollTop: z }, { easing: "linear", duration: speed }); 
} 

main_container 페이지에 걸쳐 스트레칭 사업부입니다. animate 다음에 pagescroll();을 추가하고 window.scroll(0,0)을 제거한 후 및 pagescroll()duration:speed 다음에 넣은 다음 모든 것을 setTimeout에 넣었지만 아무 것도 작동하지 않았습니다. 내가 찾은 모든 예는 효과가 없었습니다. 이 함수에 무한 루프를 추가하려면 어떻게해야합니까?

+2

당신이 찾고있는 이상한 행동의 종류는 알고 있지만 누가 알겠습니까? –

+0

기본적으로 웹 사이트는 기본적으로 XML 파일에 이름을 추가하고 루프에 표시 할 수있는 최종 크레딧과 같습니다. 모든 것이 벽에 투영됩니다. – user2584809

답변

1

당신은 다음과 같이 당신의 animate 기능에 콜백을 추가해야합니다

$('body,html').animate(
    {scrollTop: z}, 
    {easing: "linear", duration: speed}, 
    function() { 
     $('body,html').scrollTop(0); // scroll to top when animation finished 
     pagescroll(); // call scroll function again 
    } 
); 

를 함수가 재귀 방식으로 작동합니다이 경우.

+0

이 위치로 스크롤하지만 위쪽으로 다시 이동하지 않습니다. – user2584809

+0

@ user2584809'$ ('body, html') 앞에'window.scroll (0,0);'을 추가해보세요. scrollTop (0);' – antyrat

+0

아직 아무것도 없습니다. 애니메이션을 마친 후에 다른 함수를 호출하지 않는 것처럼 보입니다 (전체 스크롤 콜백을 단순한 경고로 변경하고 아무 일도 일어나지 않았습니다). 또한 테스트 목적으로 변경하여 상향 스크롤 위치와 지속 시간을 일정하게 유지했습니다. – user2584809

관련 문제