2017-04-11 63 views
0

我调用一个ajax函数来加载GridView时div滚动到底部和我的代码工作正常,但我想调用该函数时div在半途滚动用户在获取记录时不必等待。回滚记录当div中途滚动

.ASPX HTML

<table class="Grid" cellspacing="0" rules="all" border="1" id="Table1" style="width: 99%; border-collapse: collapse;"> 
      <tr> 
       <th scope="col" style="width: 10%">ID</th> 
       <th scope="col" style="width: 30%;">Title</th> 
       <th scope="col" style="width: 20%;">Theme</th> 
       <th scope="col" style="width: 14%;">Subject</th> 
       <th scope="col" style="width: 14%;">Grade</th> 
      </tr> 
     </table> 

     <div id="dvGrid" style="height: 800px; overflow: auto; width: 100%"> 
      <asp:GridView ID="gridSearchResult" runat="server" AutoGenerateColumns="false" CssClass="Grid" Width="99%" EmptyDataText="No records found!!!"> 
       <Columns> 
        <asp:BoundField DataField="tid" HeaderText="ID" ItemStyle-CssClass="tid" ItemStyle-Width="10%" HeaderStyle-Width="10%" /> 
        <asp:BoundField DataField="title" HeaderText="Title" ItemStyle-CssClass="title" ItemStyle-Width="30%" HeaderStyle-Width="30%" /> 
        <asp:BoundField DataField="theme" HeaderText="Theme" ItemStyle-CssClass="theme" ItemStyle-Width="20%" HeaderStyle-Width="20%" /> 
        <asp:BoundField DataField="subject" HeaderText="Subject" ItemStyle-CssClass="subject" ItemStyle-Width="14%" HeaderStyle-Width="14%" /> 
        <asp:BoundField DataField="grade" HeaderText="Grade" ItemStyle-CssClass="grade" ItemStyle-Width="14%" HeaderStyle-Width="14%" /> 
       </Columns> 
      </asp:GridView> 
     </div> 

的Javascript

//Load GridView Rows when DIV is scrolled 
      $("#dvGrid").on("scroll", function (e) { 
       var $o = $(e.currentTarget); 
       if ($o[0].scrollHeight - $o.scrollTop() <= $o.outerHeight()) { 

        GetRecords(); 
       } 
      }); 

我有什么变化在做javascript函数上面调用GetRecords()当我滚动的一半该分部。

回答

0

将高度乘以2,基本上就像容器高度的两倍。

$o[0].scrollHeight - $o.scrollTop() <= $o.outerHeight() * 2