我是靠谱客的博主 朴实冬天,最近开发中收集的这篇文章主要介绍滚动鼠标,判断是下滚还是上滚,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

    /**
     *滚动鼠标,判断是下滚还是上滚
     *
     * 判断滚轮向上或向下在浏览器中也要考虑兼容性,现在五大浏览器(IE、Opera、Safari、Firefox、Chrome)中Firefox 使用detail,其余四类使用wheelDelta;
     * 两者只在取值上不一致,代表含义一致,detail与wheelDelta只各取两个值,detail只取±3,wheelDelta只取±120,其中正数表示为向上,负数表示向下。
     */
    let afterTop = 0;
    const scrollFunc = function (e: any): void {
      const beforeTop = Number($('#emoticonPackage .EmotionList-con').css("top").split('px')[0]);
      e = e || window.event;
      if (e.wheelDelta) {// IE/Opera/Chrome
        if (e.wheelDelta === 120) {
          afterTop = +beforeTop + 15;
        }
        if (e.wheelDelta === -120) {
          afterTop = +beforeTop - 15;
        }
      } else if (e.detail) {// Firefox
        if (e.detail === 3) {
          afterTop = +beforeTop + 15;
        }
        if (e.detail === -3) {
          afterTop = +beforeTop - 15;
        }
      }
      if (afterTop >= 0) {
        $('#emoticonPackage .EmotionList-con').css({ top: 0 + 'px' });
      } else {
        if (Math.abs(afterTop) + $('#box #emoticonPackage .EmotionList')[0].offsetHeight >= $('#emoticonPackage .EmotionList-con')[0].offsetHeight) {
          $('#emoticonPackage .EmotionList-con').css({ top: $('#box #emoticonPackage .EmotionList')[0].offsetHeight - $('#emoticonPackage .EmotionList-con')[0].offsetHeight + 'px' });
        } else {
          $('#emoticonPackage .EmotionList-con').css({ top: afterTop + 'px' });
        }
      }
    };
    if (document.addEventListener) {
      document.addEventListener('DOMMouseScroll', scrollFunc, false);
    }// W3C
    window.onmousewheel = scrollFunc; // IE/Opera/Chrome/Safari
  }
  public componentWillUnmount(): void {
    if (document.addEventListener) {// 组件卸载后应将滚动事件给移除
      document.addEventListener('DOMMouseScroll', () => { }, false);
    }// W3C
    window.onmousewheel = null; // IE/Opera/Chrome/Safari
  }

最后

以上就是朴实冬天为你收集整理的滚动鼠标,判断是下滚还是上滚的全部内容,希望文章能够帮你解决滚动鼠标,判断是下滚还是上滚所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部