メインブラウザウィンドウを下にスクロールするとレコードがロードされるリピーターがありますが、スクロール可能なdivを追加し、メインブラウザーウィンドウの代わりにそのdivを下にスクロールするとリピーターをロードしたいです。これは私が今持っているものです..
http://snag.gy/MKKFn.jpg (これは問題なく動作しています。ブラウザー ウィンドウを下にスクロールすると、リピーター レコードを読み込むことができます)。
これは私が達成したいことです.. http://snag.gy/n9Ufw.jpg (スクロール可能な div を追加しましたが、ブラウザ ウィンドウではなくこの div をスクロールするときにリピーターをロードする方法がわかりません)。
ASPX:
<div id="scr" style="height:400px;overflow-x:hidden;overflow-y: scroll;>
<div id="dvCustomers" >
<asp:Repeater ID="rptCustomers" runat="server" >
<ItemTemplate>
<table cellpadding="0" cellspacing="0" border="0" style="width: 400px; height: 50px;
border: dashed 0px #04AFEF; background-color:#00BFFF">
<tr>
<td>
<b><u><span class="name">
<%# Eval("MsgId") %></span></u></b>
</td>
</tr>
<tr>
<td>
<b>City: </b><span class="city"><%# Eval("FromId") %></span>     
<b>Postal Code: </b><span class="postal"><%# Eval("ToId") %></span>
<b>Country: </b><span class="country"><%# Eval("Msg")%></span>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
</div>
</div>
リピーターをロードするコード:
<script type="text/javascript">
var pageIndex = 1;
var pageCount;
$(window).scroll(function () {
if ($(window).scrollTop() == $(document).height() - $(window).height()) {
GetRecords();
}
});
//GetRecords() is for loading records in repeater
更新 してみました....
https://stackoverflow.com/a/6271466/2064292
そしてそれは働いた!しかし、不思議なことに、一度だけレコードをロードしてから動作を停止します。たとえば、22 件のレコードがある場合、下にスクロールすると 10 ~ 20 件のレコードが読み込まれますが、その後は機能しなくなります。
それは動かなかった。