Javascript 无法基于';车轮';事件侦听器

Javascript 无法基于';车轮';事件侦听器,javascript,Javascript,我试图根据是否有人向下滚动页面或向上滚动页面来增加一个变量 每次向上或向下滚动时,该事件都会触发,但该值仅递增一次。你们知道为什么会这样吗 window.addEventListener("wheel", function (e) { const y = e.deltaY; let scrollIndex = 0; if (y > 0) { scrollIndex++; } else { scrollIndex--; } console.log(`S

我试图根据是否有人向下滚动页面或向上滚动页面来增加一个变量

每次向上或向下滚动时,该事件都会触发,但该值仅递增一次。你们知道为什么会这样吗

window.addEventListener("wheel", function (e) {
  const y = e.deltaY;
  let scrollIndex = 0;
  if (y > 0) {
    scrollIndex++;
  } else {
    scrollIndex--;
  }
  console.log(`Scroll index: ${scrollIndex}`);
});

因为您每次都将new
scrollIndex
变量设置为零。将
scrollIndex
置于函数外部,它将工作。例如:

let scrollIndex = 0;
window.addEventListener("wheel", function (e) {
  const y = e.deltaY;

  if (y > 0) {
    scrollIndex++;
  } else {
    scrollIndex--;
  }
  console.log(`Scroll index: ${scrollIndex}`);
});

因为您每次都将new
scrollIndex
变量设置为零。将
scrollIndex
置于函数外部,它将工作。例如:

let scrollIndex = 0;
window.addEventListener("wheel", function (e) {
  const y = e.deltaY;

  if (y > 0) {
    scrollIndex++;
  } else {
    scrollIndex--;
  }
  console.log(`Scroll index: ${scrollIndex}`);
});

欢迎来到StackOverflow!你的
让scrollIndex=0
应该在函数之外,这样您就可以安全地添加/减去,在编写时,它将始终重置为
0
欢迎使用StackOverflow!你的
让scrollIndex=0
应该在函数之外,这样您就可以安全地进行加法/减法,在编写时,它将始终重置为
0