每X秒自动分页与自动刷新Div组合

时间:2019-07-19 05:28:01

标签: javascript datatables codeigniter-3

我正在设置一个数据表,我想在监视器上显示它,以便我需要该数据表可以刷新div并同时自动分页到下一页。当div刷新时,它取消了自动分页并返回第一页。请帮助我。

    <script type="text/javascript"> 
        $(document).ready(function() {
            var table = $('.data').DataTable({
                "searching": false,
                "info": false,
                "lengthChange": false
            });
            setInterval(function(){ 
            var info = table.page.info();
            var pageNum = (info.page < info.pages) ? info.page + 1 : 1;
            table.page(pageNum).draw(false);    
            }, 5000);  
        });

        $(document).ready(function() {
            setInterval(function () {
                $('#test').load(window.location.href + ' #test');
            }, 3000);
        });

    </script>

1 个答案:

答案 0 :(得分:0)

您可以尝试像这样重新初始化Datatable

$(document).ready(function() {
  initDataTable();
  setInterval(function() {
    $('#test').load(window.location.href + ' #test', initDataTable);
  }, 3000);
});

function initDataTable() {  
  var table = $('.data').DataTable({
    "searching": false,
    "info": false,
    "lengthChange": false
  });
  setInterval(function() {
    var info = table.page.info();
    var pageNum = (info.page < info.pages) ? info.page + 1 : 1;
    table.page(pageNum).draw(false);
  }, 5000);
}

更新

使用全局变量作为页码

var info;
var pageNum = 1;
var pageInterval;

$(document).ready(function() {
  initDataTable();
  setInterval(function() {
    $('#test').load(window.location.href + ' #test', initDataTable);
  }, 3000);
});

function initDataTable() {
  clearInterval(pageInterval)
  var table = $('.data').DataTable({
    "searching": false,
    "info": false,
    "lengthChange": false
  });
  pageInterval = setInterval(function() {
    info = table.page.info();
    pageNum = (pageNum + 1) % info.pages
    table.page(pageNum).draw(false);
  }, 5000);
}