div内的Javascript无限滚动

标签 javascript jquery html css infinite-scroll

我正在尝试使用 javascript 创建一个无限加载页面。我发现了这个:How to do infinite scrolling with javascript only without jquery

我一直在玩链接到这个 jsfiddle 页面的最后一个答案:http://jsfiddle.net/8LpFR/

 document.addEventListener("scroll", function (event) {
      checkForNewDiv();
 });

 var checkForNewDiv = function () {
      var lastDiv = document.querySelector("#scroll-content > div:last-child");
      var lastDivOffset = lastDiv.offsetTop + lastDiv.clientHeight;
      var pageOffset = window.pageYOffset + window.innerHeight;

      if (pageOffset > lastDivOffset - 10) {
          var newDiv = document.createElement("div");
          newDiv.innerHTML = "my awesome new div";
          document.getElementById("scroll-content").appendChild(newDiv);
          checkForNewDiv();
      }
 }; 
 checkForNewDiv();

我要如何修改它才能使滚动在 div 内而不是整个页面内工作?比如,lastDivOffset 和 pageoffset 会变成什么?

最佳答案

最简单的。

var scrollY = container.scrollHeight - container.scrollTop;
var height = container.offsetHeight;
var offset = height - scrollY;

if (offset == 0 || offset == 1) {
    // load more content here
}

关于div内的Javascript无限滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23961566/

相关文章:

javascript - 如何在javascript中的按键事件之后检查文本输入的值是否为空?

javascript -/.*=/,'' 在 var id=this.href.replace(/.*=/,'' ); 中是什么意思?

javascript - 使用 JavaScript 遍历数据表中的行

javascript - 如何在 angularjs 服务中公开范围?

javascript - 如何动态加载JS、CSS文件以避免性能问题

javascript - 如何将类 ="container"的新高度设置为数据结尾?

html - 模板似乎只等待 Observable 产生一次

javascript - 更改文本并添加过渡以使其平滑

asp.net - 用数据库值填充 <ul>

javascript - 单击标记打开 map 旁边的图像