2013-04-05 4 views
0

스크롤하는 동안 DIV 홀더에 더 많은 html 콘텐츠를 추가하기 위해 window.scroll() 함수를 사용하고 있습니다. 각 스크롤 이벤트마다 10..10을로드하고 있습니다. 하지만 처음 10 개의 내용을로드 한 후에는 문서 크기가 증가하므로 브라우저는 자동으로 scroll을 호출하고 loadContent 함수를 호출하고 수동으로 스크롤하지 않고 새 내용을 추가합니다. 이렇게하면이 메커니즘을 방지 할 수 있습니다. 사용자를 추가로로드해야합니다. 버튼을 스크롤합니다.새 HTML 내용을로드하는 동안 자동 스크롤 이벤트를 방지하는 방법은 무엇입니까?

$(function(){ 
    var loading = true; 
    $(window).scroll(function(){ 
    if (loading && $(window).scrollTop() + $(window).height() > $(document).height() - 100){ 
     loading = false; 
     loadContents(); 
     loading = true; 
} 
}); 
)}; 

무한 스크롤 기능을 수행하는 다른 방법이 있습니까?

+0

[바이올렛] (http://jsfiddle.net/anpsmn/ysreM/2/)을 참조하십시오. 귀하의 코드와 함께 자동 스크롤 문제가 나타나지 않습니다. loadContents 함수를 확인하십시오. – anpsmn

답변

1

당신이하고있는 것처럼 보통 부울 플래그를 사용하면 어떻게 처리 할 것인가입니다. 일반적으로 데이터는 ajax를 사용하여 채워지지만 여기에는 loading이 변경됩니다. loading에 대한 귀하의 가치 또한 역전 인 것으로 보입니다.

$(function(){ 
    var loading = false; 
    $(window).scroll(function(){ 
     if (!loading && $(window).scrollTop() + $(window).height() > $(document).height() - 100){ 
      loading = true; 
      loadContents(); 
     } 
    }); 

    function loadContents() { 
     $.ajax({ 
      ..., 
      success: function() { 
       // add new data 
       loading = false; 
      } 
     }); 
    } 
)}; 
+0

다니엘 감사합니다, 잘 일합니다 .... – Sreehari

관련 문제