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 部分在列表的底部。然后,如果用户继续尝试滚动,我想通过 javascript 检测 nomoresessions 部分当前正在显示,因此不再尝试分页。

4

1 回答 1

0

我能想到的一种简单方法是,您可能希望在“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 回答