推荐使用 wheel 事件的 deltay 属性判断鼠标滚轮方向:deltay > 0 表示向下滚动,deltay
在 JavaScript 中,获取鼠标滚轮滚动方向主要依靠
wheel事件的deltaY属性(推荐)或兼容旧版的mousewheel事件的wheelDelta属性。现代标准统一使用wheel事件,更可靠、跨浏览器一致。用
wheel事件判断滚动方向(推荐)
wheel是 W3C 标准事件,所有现代浏览器都支持。其核心是通过event.deltaY的正负值判断方向:
- deltaY > 0:向下滚动(页面内容向上移动,即“往更远内容”滚)
- deltaY :向上滚动(页面内容向下移动,即“往顶部”滚)
- 注意:
deltaY是设备无关的逻辑像素值,可能为小数,不建议直接比大小,用符号判断即可兼容老版本 IE 的写法(仅必要时)
IE9–11 支持
mousewheel事件,用event.wheelDelta判断:
- wheelDelta > 0:向上滚动
- wheelDelta :向下滚动
- 注意:
wheelDelta的符号与deltaY相反,且值通常是 ±120 的倍数- 实际项目中,除非明确需支持 IE11 及以下,否则无需处理该事件
监听并响应滚动方向的实用代码
推荐只监听
wheel,简洁健壮:element.addEventListener('wheel', function (e) { if (e.deltaY > 0) { console.log('向下滚动'); } else if (e.deltaY如果需兼容极老环境,可用特征检测合并两种事件,但绝大多数场景只需
wheel。避免常见误区
- 不要依赖
deltaX判断垂直方向——它反映水平滚动,多数鼠标滚轮不触发它- 不要用
Math.abs(deltaY) > 1等阈值过滤“微小滚动”——方向判断只看符号,精度由浏览器决定- Mac 触控板可能触发高频率、小增量的
wheel事件,但deltaY符号依然准确
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南












