ここでは、無限スクロールの問題に対処するいくつかの質問があります。しかし、彼らのほとんどはプラグインを使用しています。Javascript/jQueryでDIV内で無限/無限のスクロールを実装する方法
私は、既存のページング機能で動作する無限スクロールを実装する方法を知りたいと思います。現在、私は「もっと読み込み」ボタンをクリックし、クリックすると次の10項目を取り出してリストに追加します。これは、「もっと読み込み」ボタンがクリックされたときに行うのではなく、スクロール位置が下に来るときに起こりたいのです。また、このリストはメインページにはなく、DIV内にあります。 id 'pageNum'の隠しフィールドにページ番号を格納する。
$.ajax({
type: "GET",
url: "/GetItems",
data: { 'pageNum': $('#pageNum').val() },
dataType: "json",
success: function (response) {
$('#MyDiv ul').append(response.Html);
$('#pageNum').val(response.PageNum);
}
}
});
#MyDiv
{
border:solid 1px #ccc;
width:250px;
height:500px;
overflow-y: scroll;
}
<div id="MyDiv">
<ul>
<li>...</li>
...
</ul>
</div>
おそらく最も簡単な方法は、リストの一番下に要素を置くことです。次に、要素がスクロールして表示されるようになると、さらに読み込むことができます。ビューポートにある要素をチェックする方法については、いくつかの回答があります。 –
ありがとうございます。うまくいくようですが、ここで自分のコードとどのように統合するのでしょうか。私はこれを見つけた:http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewportしかし、いつ私は、elementInViewport関数? – Prabhu