首页 > 解决方案 > 用javascript检测网页滚动

问题描述

我正在尝试使用 JavaScript 检测网页的滚动

我只想在页面位于顶部或不在顶部时收到一次警报

var top = true;
      
    $(window).on('scroll', function () {
      
      if (window.scrollY > 0 && top==true) {
        top = false;
    	  alert("not top");
      }else if (window.scrollY == 0 && top==false){
      	top = true;
      	alert("top");
      }     
 });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

上面的代码根本没有触发警报!

标签: javascriptjquery

解决方案


这里的问题top是一个与您的变量冲突的 javascript 全局变量。如果您使用另一个变量,您的解决方案将起作用。如果您只想在窗口滚动到顶部时发出警报,那么您可以使用以下解决方案 -

$(window).on('scroll', function () {
    if(window.pageYOffset === 0) {
        alert("top");
    }
})

推荐阅读