0

javascript でパーシャルが現在表示されているかどうかを検出するにはどうすればよいですか?

したがって、半疑似コードを使用し、意図を伝えるためにできるだけ単純化しようとすると、

私のコントローラーには次のものがあります:

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

私のJavaScriptでは:

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

}

なぜこれが必要なのか疑問に思っている人がいる場合は、部分的にテーブルの下部に行を追加し、ユーザーがスクロールするときにページネーションを使用しています。下部に到達したら、何らかの視覚的なインジケーターを追加して、 nomoresessions パーシャルを介してリストの一番下にあります。次に、ユーザーがスクロールを試み続ける場合、nomoresessions パーシャルが現在表示されていることを javascript を介して検出したいため、これ以上ページネーションを試みません。

4

1 に答える 1

0

私が考えることができる1つの簡単な方法は、「nomoresessions」パーシャルにクラスまたはIDを追加することです。

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

次に、あなたdoCheckができること:

function doCheck(){
  var canContinuePaginating = true;
  if ($('ul.content .end-of-list').length) {
    canContinuePaginating = false;
于 2012-10-17T15:51:47.547 に答える