javascript - 在 JavaScript 中重新启用鼠标滚动

标签 javascript jquery html css

我一直在修补以下 CodePen .它阻止用户向下滚动页面,而是使用向下滚动形成星座动画。星座动画完成后,我如何让用户能够向下滚动页面?目前,无论动画状态如何,滚动都被禁用。

这是我正在努力处理的代码的摘录。

window.addEventListener("mousewheel", MouseWheelHandler, false);
window.addEventListener("DOMMouseScroll", MouseWheelHandler, false);
function MouseWheelHandler(e) {

  var e = window.event || e; // old IE support
  var delta = Math.max(-30, Math.min(60, (e.wheelDelta || -e.detail)));

  if (delta > 0) {
    showFinal=false;
    for(var i = 0; i < stars.length; i++) {
      stars[i].reseting = true;
    }
  } else {
    showFinal=true;
  }
  for(var i = 0; i < stars.length; i++) {
    stars[i].move();
  }
  e.preventDefault();
}

window.addEventListener("keydown", keyDown, false);
function keyDown(e) {
  var keyCode = e.keyCode;

  if (keyCode==38) {
    //up
    showFinal = false;
    for(var i = 0; i < stars.length; i++) {
      stars[i].reseting = true;
    }
  } 

  if (keyCode==40) {
    //down
    showFinal = true;
  }

  for(var i = 0; i < stars.length; i++) {
    stars[i].move();
  }
  e.preventDefault();
}

最佳答案

好吧,我不建议这样做,但这是您需要做的 2 项更改

#container {
    overflow:auto;
    position:relative;
}

并从 function MouseWheelHandler(e) { 中删除 e.preventDefault(); 您需要在正文中添加更多文本才能看到滚动。

关于javascript - 在 JavaScript 中重新启用鼠标滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47245136/

相关文章:

jQuery Masonry 不工作。

jquery - 从性能的角度来看,在 jQuery 中哪种检查 Document read() 的方法更好?

html - 我如何适应 ul 中 li 的宽度?

javascript - 单击同一类时从 td 中删除类

javascript - 如何从 WebStorm 中的 Find ... 中排除由 TypeScript 生成的 JavaScript 文件?

javascript - Angular 验证中的登录页面重定向

javascript - 使用 boolean 类型与字符串类型 "true"/"false"的优缺点是什么?

javascript - 如何动态分组每个 n-div 并在 JQuery 中用一个新的 div 包装?

javascript - 在 cookie 中查找并保存变量

html - 清除 h :inputText and h:selectOneMenu value on page refresh