Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何修复无限滚动表?_Javascript_Jquery_Json - Fatal编程技术网

Javascript 如何修复无限滚动表?

Javascript 如何修复无限滚动表?,javascript,jquery,json,Javascript,Jquery,Json,我正在构建一个无限滚动表,其中填充了由json服务器创建的fakejs用户名、电子邮件和地址数据。我希望每页显示50个数据点,然后向下滚动到页面末尾时,将加载另外50个数据点。我怎样才能做到这一点?我看到我的代码到目前为止没有工作,因为当我向下滚动时,它没有加载另一批数据 $document.readyfunction{ var currentPageNumber=1; loadDatacurrentPageNumber; 如果$window.scrollTop==$document.heig

我正在构建一个无限滚动表,其中填充了由json服务器创建的fakejs用户名、电子邮件和地址数据。我希望每页显示50个数据点,然后向下滚动到页面末尾时,将加载另外50个数据点。我怎样才能做到这一点?我看到我的代码到目前为止没有工作,因为当我向下滚动时,它没有加载另一批数据

$document.readyfunction{ var currentPageNumber=1; loadDatacurrentPageNumber; 如果$window.scrollTop==$document.height-$window.height{ currentPageNumber+=1; loadDatacurrentPageNumber; } }; 函数loadDatacurrentPage{ $.ajax{ 方法:获取, 网址:http://localhost:3000/users?_page=+当前页面+&_限制=50, 数据类型:“json”, 成功:functiondata{ forvar i=0;i div{空白:pre;} 无限滚动 名称 电子邮件地址 物理地址
加载文档时,代码只检查一次。每次滚动时都必须检查并加载数据,以便将其绑定到滚动事件

$(document).ready(function() {
    var currentPageNumber = 1;
    loadData(currentPageNumber);
    $(document).on("scroll", function() {
         if($(window).height() + $(window).scrollTop() > $('body').height() - $(window).height() / 2){
             currentPageNumber +=1;
             loadData(currentPageNumber);
         }
    }
    //your loadData function
 })

您可以根据翻转和限制限制从数据库中选择数据。 看看

和loadDatacurrentPageNumber;在第一次调用loadDatacurrentPageNumber;后加载事件,以便在用户滚动到页面末尾时,在第一次加载时加载数据并调用loadDatacurrentPageNumber

$document.readyfunction{ var currentPageNumber=1; loadDatacurrentPageNumber; $window.onscroll,函数{ var scrollHeight=$document.height; 变量scrollPosition=$window.height+$window.scrollTop; 如果scrollHeight-scrollPosition/scrollHeight==0{ currentPageNumber+=1; loadDatacurrentPageNumber; } }; 函数loadDatacurrentPage{ $.ajax{ 方法:获取, 网址:http://localhost:3000/users?_page=+当前页, 数据类型:“json”, 成功:functiondata{ forvar i=0;i div{空白:pre;} 无限滚动 名称 电子邮件地址 物理地址
它不会运行,因为您只调用检查位置一次。 要使其运行,您应该跟踪鼠标的滚动事件,例如:

    $(document).ready(function() {
      var currentPageNumber = 1;
      loadData(currentPageNumber);
      $(window).scroll(function() {
        if($(window).scrollTop() + $(window).height() ==  $(document).height()) {
          loadData(currentPageNumber);
        }
      });

     function loadData(currentPage){
        console.log("test");
      }

   })

谢谢!但很奇怪,它可以在Internet Explorer上运行。但在Chrome中,它只在我一直滚动到页面顶部时才起作用,但在我滚动到页面末尾时不起作用。。。