JavaScript 监听 HTML 页面滚动事件的方法

作者:页面旅途

时间:2026-10-22

浏览:489

本文介绍在JavaScript中监听HTML页面上下滚动事件的方法。通过定义scrollFunc函数处理wheelDelta属性,区分鼠标滚轮向上或向下的动作,并在控制台输出日志。示例代码展示了如何在body标签中绑定onscroll事件,实现实时滚动效果的监测与反馈。

文章目录

滚动事件监听原理与实现

在最近的一个前端项目开发中,为了实现类似Android应用中实时监听页面上下滚动的功能,经过资料查阅,发现由鼠标或类似用户交互动作触发的事件主要包含以下几种情况,具体表现如下图所示:

滚动事件监听原理与实现

以下直接提供经过测试验证可用的代码实现方案:


<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title>Dome</title>
  <script type="text/javascript"> 

   function scroll(){
    //console.log("打印log日志");实时看下效果
    console.log("开始滚动!");
   }

   var scrollFunc = function (e) { 
    e = e || window.event; 
    if (e.wheelDelta) { //第一步:先判断浏览器IE,谷歌滑轮事件    
     if (e.wheelDelta > 0) { //当滑轮向上滚动时 
      console.log("滑轮向上滚动"); 
     } 
     if (e.wheelDelta < 0) { //当滑轮向下滚动时 
      console.log("滑轮向下滚动"); 
     } 
    } else if (e.detail) { //Firefox滑轮事件 
     if (e.detail> 0) { //当滑轮向上滚动时 
      console.log("滑轮向上滚动"); 
     } 
     if (e.detail< 0) { //当滑轮向下滚动时 
      console.log("滑轮向下滚动"); 
     } 
    } 
   }
   //给页面绑定滑轮滚动事件 
   if (document.addEventListener) {//firefox 
    document.addEventListener('DOMMouseScroll', scrollFunc, false); 
   } 
   //滚动滑轮触发scrollFunc方法 //ie 谷歌 
   window.onmousewheel = document.onmousewheel = scrollFunc;


  </script> 

 </head>
 <body onscroll="scroll()">
  <div style="height: 2000px;background-color: aqua;"></div>
 </body>
</html>

对于不熟悉 console.log("") 用法的开发者,这里提供一张在谷歌浏览器中的运行效果截图供参考:

滚动事件监听原理与实现

上述内容即为关于JavaScript监听HTML页面滚动事件的完整分享,希望能为各位提供有价值的参考,同时也欢迎大家继续支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章