我如何获得wheelDelta属性?

时间:2015-07-24 18:14:03

标签: 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);
      }
            
    });
&#13;
&#13;
&#13;

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

有人能告诉我一个如何获取wheelDelta属性值并将其存储在变量中的示例吗?

感谢。

1 个答案:

答案 0 :(得分:2)

window.event不是一个功能。同样,评论scroll中提到的与mousewheel不同。试试这个:

   $(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);
      }
    });