javascript - 如何获取wheelDelta属性?

标签 javascript

我试图做到这一点,以便当wheelDelta为负值(向下滚动)时,我的导航栏“隐藏”(通过动画),当wheelDelta为正值(向上滚动)时,导航栏重新出现(动画) )。

这是我的 JavaScript 代码:

/* Scrolling Animation */
    $(document).scroll(function () {
      var evt = window.event();
      var delta = evt.wheelDelta;
      
      if ( delta >= 120 ){
          $('.nav').animate({ top: '-65px' }, 200);
          $('body').animate({ top: '0px' }, 200);
      }
      else if ( delta <= -120 ){
          $('.nav').animate({ top: '0px' }, 200);
          $('body').animate({ top: '65px' }, 200);
      }
            
    });

但是这不起作用。我已经做了一些故障排除,发现问题是 delta 变量未定义。所以我认为我只是不知道如何正确获取wheelDelta属性。

有人可以向我展示如何获取wheelDelta属性值并将其存储在变量中的示例吗?

谢谢。

最佳答案

window.event 不是一个函数。另外,正如评论中提到的,scrollmousewheel 不同。试试这个:

   $(document).on('mousewheel',function (evt) {
      var delta = evt.originalEvent.wheelDelta;
      console.log('scroll ' + delta, evt);
      if ( delta >= 120 ){
          $('.nav').animate({ top: '-65px' }, 200);
          $('body').animate({ top: '0px' }, 200);
      }
      else if ( delta <= -120 ){
          $('.nav').animate({ top: '0px' }, 200);
          $('body').animate({ top: '65px' }, 200);
      }
    });

关于javascript - 如何获取wheelDelta属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31617165/

相关文章:

javascript - 在另一个函数中全局调用一个函数

javascript - 可缩放圆形包装 - 父级未定义

javascript - 在 Javascript 中通过多个 if 语句运行 While 循环

javascript - 在jsfiddle中测试一个函数

javascript - 为什么 Date.now() 每次调用时都会返回不同的值?

javascript - 在 react 中设置状态后如何等待

javascript - if 语句评估不正确

javascript - grunt connect 退出而不是提供本地文件

javascript - 使用 Jasmine 重用测试代码的好方法是什么?

javascript - 有什么方法可以通过 Web API 查明专辑何时添加到 Spotify 中?