2017-03-13 77 views
0

我有以下的Django模板:Django的無盡分頁

<div id = 'test'> 
     <form> 
      <ul id = 'dialog_list_container'> 
       {% include page_template %} 
       {% block js %} 
        {{ block.super }} 
        <script src="/static/js/el-pagination.js"></script> 
        <script src="/static/js/el-pagination_on_scroll.js"> 
        </script> 
        <script> 
         $("#test").endlessPaginate({ 
          paginateOnScroll: true, 
          paginateOnScrollMargin: 100 
         }); 
        </script> 
       {% endblock %} 
      </ul> 
      <div class="ajax_loader"></div> 
     </form> 
    </div> 

test是一個滾動的元素:

#test{ 
    overflow-y: auto; 
    height: 500px; 
} 

的問題是,我還有手動按分頁列表底部的Show more鏈接,但我期望在滾動到test的底部時自動上載新記錄。我猜,原因是在瀏覽器窗口滾動的情況下,Django在滾動觸發器上的分頁觸發器。

是否有任何無痛的方式來使Django上傳新記錄的情況下容器與css overflow-y: auto屬性?

回答

1

$.endlessPaginate綁定到整個頁面。如果您想專注於一個元素,則需要專門針對該元素:

$("#test").endlessPaginate({ 
    paginateOnScroll: true, 
    paginateOnScrollMargin: 20 
}); 

P.S. ids(和類)的標準是連字符不是下劃線:#dialog-list-container

+0

它仍然不起作用。查看更新後的問題 –

+0

嘗試將JavaScript移動到頁面底部,並將腳本包裝在'$(document).ready(function(){/ * CODE HERE * /});'中。 – user2896976

+1

那麼,[這](http://django-endless-pagination.readthedocs.io/en/latest/javascript.html#manually-selecting-what-to-bind)是你想要完成的庫引用。您是否嘗試在滾動瀏覽網絡流量時查看是否正在進行AJAX調用? – user2896976

相關問題