Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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_Dom - Fatal编程技术网

Javascript 检测用户何时向下滚动并到达页面中心

Javascript 检测用户何时向下滚动并到达页面中心,javascript,jquery,dom,Javascript,Jquery,Dom,目前,我有以下代码,可以检测用户何时开始滚动,以及他们是否已到达页面中心 $(window).scroll(function() { if ($(window).scrollTop() > $(window).height() / 2) { //Load more posts } }); 然而,我的问题是,每当用户开始滚动时,上面的脚本就会触发。因此,如果用户向上滚动查看以前的帖子,就会加载更多的帖子。如果一个用户在中间,只滚动一

目前,我有以下代码,可以检测用户何时开始滚动,以及他们是否已到达页面中心

$(window).scroll(function() {
        if ($(window).scrollTop()  > $(window).height() / 2) {
            //Load more posts
        }
});
然而,我的问题是,每当用户开始滚动时,上面的脚本就会触发。因此,如果用户向上滚动查看以前的帖子,就会加载更多的帖子。如果一个用户在中间,只滚动一点点,脚本就会加载更多的帖子

我的问题是,是否有一种方法可以确定用户何时开始向下滚动并到达新调整大小的页面的中心,因为添加了更多的帖子

谢谢你试试这个

$(document).on("scroll.y", function(e) {
  if ($("body").scrollTop() >= ( ($(e.target).height() / 2) -250) ) {
       console.log("approximate center"); $(e.target).off("scroll.y")
  };
  return false
})

你不应该一次加载更多的帖子吗
$(窗口)。scrollTop()
小于窗口高度的一半?另外,你是否尝试过使用
$(文档)。高度()/2
代替窗口?使用$(文档)和$(窗口)之间的主要区别是什么?@user2028856在此页面上,使用
控制台
窗口
$(窗口)上打开/可见。height()//269
$(文档)。height()//2284
正是@guest271314指出的内容-
$(文档)
是呈现的整个html文档,即使是不可见的<代码>$(窗口)是可见的文档。因为您将加载在滚动查看之前不可见的帖子,所以我认为
$(document)
是您需要的。这有意义吗?