2017-04-11 44 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