How can I count mouse scroll using pure JS?
Example:

default value: 0
scroll down: ++1
scroll up: --1

我试着用deltaY和一个switch 盒

let mouseWheel = 0;
switch (deltaY) {
  case 100:
    if (mouseWheel > 0) {
      mouseWheel += 1;
    } else if (mouseWheel < 0) {
      mouseWheel = 0;
    }
    break;
  case -100:
    if (mouseWheel > 0) {
      mouseWheel -= 1;
    } else if (mouseWheel < 0) {
      mouseWheel = 0;
    }
    break;
  default:
    break;
}

推荐答案

let mouseWheel = 0;

addEventListener("wheel", (evt) => {
  mouseWheel += Math.sign(evt.deltaY);  // Add or subtract 1
  mouseWheel = Math.max(0, mouseWheel); // Prevent negative value
  console.log(mouseWheel);
});
Scroll down and up

Javascript相关问答推荐

如何expose 像React在onChange、onClick等中所做的那样的参数?

创建1:1比例元素,以另一个元素为中心

Next.js Next/Image图像隐含性有任何类型-如何修复?

JS生成具有给定数字和幻灯片计数的数组子集

Vue:ref不会创建react 性属性

当在select中 Select 选项时,我必须禁用不匹配的 Select

警告!合同执行期间遇到错误[执行已恢复](Base Layer 2)

MongoDB中的引用

WebRTC关闭navigator. getUserMedia正确

引用在HTMLAttributes<;HTMLDivElement>;中不可用

无法从NextJS组件传递函数作为参数'

如何通过使用vanilla JS限制字体大小增加或减少两次来改变字体大小

使用GraphQL查询Uniswap的ETH价格

制作钢琴模拟器,并且在控制台中不会执行或显示该脚本

使用Java脚本导入gltf场景并创建边界框

从Nextjs中的 Select 项收集值,但当单击以处理时,未发生任何情况

如何使用基于promise (非事件emits 器)的方法来传输数据?

无法读取未定义的属性(正在读取合并)-react RTK

Node.js API-queryAll()中的MarkLogic数据移动

如何通过Axios在GraphQL查询中发送数组