滚轮事件

滚轮事件 mouseWheel

首先判断浏览器,因为使用的浏览器不同,判断的方式不同,主要是火狐,他的事件反应和IE,谷歌等是相反的。
// 滚轮事件 
    const mouseWheel = function(downFn, upFn) {
      // 判断浏览器
      if (window.addEventListener) { // firefox
        console.log('判断FF');
        window.addEventListener('DOMMouseScroll', fn, false);
      }
      console.log('判断IE');
      window.onmousewheel = document.onmousewheel = fn; // IE / Chrome

      //统一处理滚轮滚动事件
      function fn(event) {
        var delta = 0;
        if (!event) event = window.event;

        if (event.wheelDelta) { // IE、chrome 使用 wheelDelta,“向上正120,向下负120”
          delta = event.wheelDelta;
        } else if (event.detail) { // FF 浏览器使用的是 detail,向下滚动是正3,向上滚动-3
          delta = - event.detail;
        }
        if (delta) handle(delta);
      }
      //上下滚动时的具体处理函数
      function handle(delta) {
        if(delta < 0) { // 向下滚动
          downFn();
        } else { // 向上滚动
          upFn();
        }
      }
    };

    mouseWheel(function() {
      console.log('down');
    }, function() {
      console.log('up');
    });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值