【问题标题】:Jquery detect if scroll is on the topJquery检测滚动是否在顶部
【发布时间】:2019-09-10 18:55:10
【问题描述】:

我有一个检测用户滚动的代码,它在滚动底部时起作用

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
 $(window).scroll(function() {   
   if($(window).scrollTop() + $(window).height() == $(document).height()) {
       alert("bottom!");
   } 
});
</script>

<div style="height: 4000px">Scroll down!</div>

我想让它在滚动到页面顶部时工作,我该怎么做?

【问题讨论】:

    标签: javascript jquery html browser scroll


    【解决方案1】:

    您可以检查scrollTop() 的值是否为零:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script>
      $(window).scroll(function() {
        if ($(window).scrollTop() + $(window).height() == $(document).height()) {
          alert("bottom!");
        }
        if ($(window).scrollTop() == 0) {
          alert("top!");
        }
      });
    </script>
    
    <div style="height: 4000px">Scroll down!</div>

    正如 scrollTop() 文档所述:

    如果滚动条在最顶部,或者元素不在 可滚动,此数字将为 0。

    【讨论】:

    • 太好了,谢谢!
    • 它是否也适用于 div overflow-y: scroll; 我应该将 $(window).scroll(function() { 更改为 div id 还是它会以任何方式工作?
    猜你喜欢
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 2012-01-03
    • 2013-06-27
    • 1970-01-01
    • 2012-08-01
    相关资源
    最近更新 更多