简体   繁体   English

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

[英]Auto Pagination combine with Auto Refresh Div every X seconds

I'm setting up a datatables and i want to display it on monitor so that i need the datatables can refresh div and also auto pagination to the next page at the same time. 我正在设置一个数据表,我想在监视器上显示它,以便我需要该数据表可以刷新div并同时自动分页到下一页。 When the div refresh it canceled the auto pagination and back to the first page. 当div刷新时,它取消了自动分页并返回第一页。 Please help me. 请帮我。

    <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>

You can try reinitializing the Datatable like this 您可以尝试像这样重新初始化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);
}

UPDATE 更新

Use global variable for page number 使用全局变量作为页码

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);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM