2011-03-22 1 views
0

jQuery 템플릿으로 렌더링하는 항목이 많습니다. 나는 한 번에 50 정도를 렌더링하고, 사용자가 아래로 스크롤 할 때 더 많이 보여주고 싶습니다. 스크롤 막대를 사용하여 올바른 논리를 찾으려고합니다. 이 같은 일을하고 있지만, 스크롤은 여전히 ​​조금 남았습니다입니다 :이 jsFiddle은 내가 쓴jQuery 지연로드에 새 항목을 추가 할 때 스크롤 높이 코드를 찾는 방법 스크롤 가능한 div [jsFiddle 첨부]

var listItems = this.buildItemList(this.list, regex);  
     var renderItems = this.renderItems; 
     renderItems(listItems, wrapper, 50);      
     wrapper.scroll(function() { 
      // This works, but doesn't work quite right. Looks a bit wonky. 
      if (wrapper.scrollTop() > .5 * wrapper.children().length * wrapper.children().first().outerHeight()) 
      { 
       renderItems(listItems, wrapper, 30); 
      } 
     });   

보기, 내가 필요한의 좋은 예입니다.

http://jsfiddle.net/8rWTg/32/

여기에 나를 위해 작동하지 않는거야. 목록을 통해 약 80 %가되었을 때 추가 할 항목이 필요하지만, 내가 만든 논리로 목록의 항목 수와 브라우저에 따라 다양한 지점에서 발생합니다.

+0

wonky를 정의하십시오. 너를 위해 일하지 않는게 뭐야. – Hussein

+0

야생에서 어디서나이 작업 예제를 보았습니까? 필자의 초기 생각은 목록 크기가 변경되어 스크롤바가 마우스와 "연결이 끊어지는"원인으로 인해 불안해졌습니다. 실제 스크롤바/마우스 상호 작용을 제어 할 수 없기 때문에 어떻게 해결할 수 있는지 모르겠습니다. 내가 생각할 수있는 유일한 방법은 스크롤 가능한 영역의 크기를 예상 높이 (많은 빈 공간)로 조정 한 다음 게으른로드를 사용하는 것입니다. – mrtsherman

+0

예, 이것은 꽤 일반적입니다. 웹 전체에서 볼 수 있습니다. 나는 당신에게 모범을 보일 것입니다. – Shawn

답변

0

그래서 Imgur's album과 비슷한가요? their code을 보면 _levelReached이라는 기능이 있으며 원하는 기능과 비슷할 수 있습니다.

관련 문제