2012-10-17 3 views
0

자바 스크립트에서 현재 부분이 표시되는지 어떻게 알 수 있습니까?자바 스크립트/jQuery를 사용하여 부분 삽입 여부를 감지하는 방법을 레일

그래서, 반 의사 코드를 사용에서 내 의도를 얻을 가능한 한 단순한 되려고 노력하는 내 컨트롤러에서

나는이 내 자바 스크립트에서

def index 
    if (request.xhr?)//coming from pagination ajax request 
     @sessions = Session.paginate(.......) 
     if @sessions.empty? 
      render: partial => 'nomoresessions' 
     else 
      render: partial => 'sessions' 
     end 
    else//standard request to display 
     @sessions = Session.paginate(.....) 
    end 

end 

:

function doCheck(){ 
    var canContinuePaginating = true; 
    if (nomoresessions partial was inserted){//<--- This is what I need to figure out 
     canContinuePaginating = false; 
    } 
    if (canContinuePaginating){ 
     //do stuff 
    } 

} 

누군가 내가 왜 이것을 필요로하는지 궁금해하는 경우, 사용자가 스크롤 할 때 페이지의 맨 아래에 행을 추가하고 페이지 스크롤을 사용하고 맨 아래에 도달하면 t o 우리가 nomoresesssions 부분을 통해 목록 맨 아래에 있음을 나타 내기 위해 시각적 표시기를 추가합니다. 그런 다음 사용자가 계속 스크롤하려고하면 javascript를 통해 nomoresesssions partial이 현재 표시되고 있으므로 더 이상 페이지 매김을 시도하지 않습니다. 내가 생각할 수

답변

0

한 쉬운 방법은 당신이 당신의 doCheck 당신이 할 수있는 그런

<li class="end-of-list"> 
    <img src="end.png" /> 
</li> 

처럼 'nomoresessions'부분, 뭔가 어떤 클래스 또는 ID를 추가 할 수 있다는 것입니다 :

function doCheck(){ 
    var canContinuePaginating = true; 
    if ($('ul.content .end-of-list').length) { 
    canContinuePaginating = false; 
+0

이것은 나를 위해 작동하지 않았다. 이유를 모르겠다. 부분이 삽입되고 표시됩니다. 나는 계속 $ ('ul.content .end-of-list')를 얻는다. length = 0 – snowleopard

관련 문제