• 禁止浏览器滚动条滚动,但滚动条可以显示


    最近写一个类似土豆播放器选集数的滚动条,需要的效果是当鼠标位于选择集数的div中时只能滚动该div的滚动条,但是浏览器滚动条禁止滚动~

    网站找了很多方法都是直接隐藏滚动条,最终找到下面方法

    代码:

    var keys = [37, 38, 39, 40];
    
    function preventDefault(e) {
      e = e || window.event;
      if (e.preventDefault)
          e.preventDefault();
      e.returnValue = false;  
    }
    
    function keydown(e) {
        for (var i = keys.length; i--;) {
            if (e.keyCode === keys[i]) {
                preventDefault(e);
                return;
            }
        }
    }
    
    function wheel(e) {
      preventDefault(e);
    }
    
    function disable_scroll() {
      if (window.addEventListener) {
          window.addEventListener('DOMMouseScroll', wheel, false);
      }
      window.onmousewheel = document.onmousewheel = wheel;
      document.onkeydown = keydown;
    }
    
    function enable_scroll() {
        if (window.removeEventListener) {
            window.removeEventListener('DOMMouseScroll', wheel, false);
        }
        window.onmousewheel = document.onmousewheel = document.onkeydown = null;  
    }
    

      

     代码测试:

    禁止浏览器滚动条滚动 允许浏览器滚动条滚动

  • 相关阅读:
    开工--行胜于言
    操作系统之内存管理
    C陷阱与缺陷读书笔记(一)
    关于复杂度的一些基本的定义
    归并排序
    快速排序
    前序中序后序非递归遍历
    直接插入排序
    冒泡排序
    程序内存映像
  • 原文地址:https://www.cnblogs.com/gxsyj/p/6286549.html
Copyright © 2020-2023  润新知