2012-06-08 3 views
0

격자보기로 이미지를 표시하는 웹 응용 프로그램을 빌드하려고합니다. 나는 끝없는 스크롤링 기능을 구현했으며 훌륭하게 작동합니다. 문제는 새 이미지로드가 페이지 끝 부분에 도달하기 전에 시작해야하지만이 버퍼가 적용되지 않도록 500 픽셀 버퍼를 추가 한 것입니다. 트리거되기 전에 절대 하단으로 스크롤해야합니다. 내가 무엇을 할 수 있을지?무한 스크롤링 버퍼가 적용되지 않습니다.

나는이 솔루션을 사용하고 있습니다 : http://www.hawkee.com/snippet/9445/

이 내 스크롤 코드 : 사용중인 jQuery를 어떤 버전의

$(window).scroll (function() { 

if ($(window).scrollTop() >= $(document).height() - $(window).height() - 500) { 

    if (!self.loading) { 

    if (self.stop) { return; } 

    if (!self.pause) { self.append(); } 

    } 

    } 

}); 

답변

0

? 나는 최근에 당신이 묘사하고있는 것과 거의 완벽하게 구현했습니다. 완벽하게 작동합니다. $(document).offset()['top']을보고 body 요소가 위로 이동했는지 확인하는 것이 좋습니다.

모든 if() 진술로 인해 브라우저 속도가 느려지고 scroll() 이벤트 속도가 발생할 수도 있습니다. 이것이 잘못된 경우 이벤트가 트리거되기 전에 버퍼로 깊이 들어갈 수 있습니다.

팁이 속도를 :

    가 복잡한 비교 이전에 간단한/진 검사를 이동
  • . 그런 식으로 그들이 거짓을 반환하면 아무 것도 계산할 시간을 낭비하지 않아도됩니다.
  • >= 연산자를 >으로 대체하면 처리 능력을 약간 (아마도 무시할 수 있음) 절약 할 수 있습니다.

아래가 작동하지 않으면 jQuery 버전 또는 다른 코드 줄입니다.

$(window).scroll(function(e){ 
    if(!self.loading && !self.stop && !self.pause && ($(window).scrollTop() + $(window).height()) > $(document).offset()['top'] + $(document).height() - 500){ 
    self.append(); 
    } 
}) 

건배,

마이크

관련 문제