1

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

那没起效。

4

1 回答 1

0

这行得通.. https://stackoverflow.com/a/6271466/2064292 但我它只工作一次,即记录在向下滚动时只加载一次然后停止工作,所以我将#flux{width:400px;height:400px;overflow:auto;}答案更改为内联

style="width:400px;height:400px;overflow-x:hidden;overflow:-y:scroll;

它解决了一切。

于 2013-06-19T09:21:26.817 回答