滚动底部 html javascript 上的 div 内容

Posted

技术标签:

【中文标题】滚动底部 html javascript 上的 div 内容【英文标题】:div content on scrolled bottom html javascript 【发布时间】:2022-01-07 17:56:10 【问题描述】:

我想问一下 div 内容滚动监听器(不是页面)。 所以我有一个 html 代码,其中网页设计的外观类似于本机应用程序。我想要做的是如何检测用户是否向下滚动了内容 div?不是页面,因为我为他提供的网页只是无声的,而是在 div 中移动的页面。我的 div 代码是这样的

<div class="product-list-item">
   //product card
   //product card
</div>

当我像这样滚动时

我想在 ajax 到达 div 底部时查看其他产品,现在我 仍在使用手动按钮加载其他产品。

我用过这段代码,但它不起作用。

<script>
$(window).scroll(function() 
      if($(window).scrollTop() == $(document).height() - $(window).height()) 
            // ajax call get data from server and append to the div
      
  );
</script>

有人对此有解决方案吗?提前谢谢你。

【问题讨论】:

【参考方案1】:

假设你有这个:

<div class="product-list-item" id="target">
   //product card
   //product card
</div>

您可以使用此脚本检查您是否到达了目标 div:

<script>
        $(window).scroll(function() 
            if ($(this).scrollTop()+$(this).height() >= $('#target').position().top) 
                console.log('Target Reached');
            
        );
    </script>

你可以使用这种方法只执行一次代码,一旦它到达目标 div

<script>
        let isReached = false;
        $(window).scroll(function() 
            if ($(this).scrollTop()+$(this).height() >= $('#ftr').position().top && isReached == false) 
                isReached = true;
                //ajax call
            
        );
    </script>

【讨论】:

你好,谢谢你的回答,我已经尝试过这段代码,滚动功能仍然不起作用:”我必须在 if 语句之外尝试调试警报,但是 code$(window).scroll code 不起作用@YESSINE @AdityaRizqi 你能检查控制台是否有任何错误吗? (在 chrome 中按 F12 然后转到控制台)仔细检查是否在您正在执行的文档中导入了 jQuery,因为如果没有它,这将无法工作,您应该在 html/php 文档的底部有类似的内容&lt;script src="https://code.jquery.com/jquery-3.6.0.slim.min.js""&gt;&lt;/script&gt; 我明白了,我会试试的,谢谢:" @YESSINE

以上是关于滚动底部 html javascript 上的 div 内容的主要内容,如果未能解决你的问题,请参考以下文章

使用 Javascript 更改内容后滚动到 div 的底部

javascript 顶部和底部滚动功能

javascript 顶部和底部滚动功能

Imacro - 滚动到页面底部的 Javascript 条件

当用户在页面底部附近滚动时,Javascript / JQuery执行功能[重复]

JS实现滚动条滚到页面距离底部300px时执行事件的方法