我有一个转发器,其记录在向下滚动主浏览器窗口时加载,但我想添加一个可滚动的 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 条记录,但之后它会停止运行。
那没起效。