zoukankan      html  css  js  c++  java
  • 鼠标滚轮事件(浏览器兼容性写法)

    1.这种写法,看得好蒙圈,之后再仔细阅读。

        //鼠标的滚动事件 兼容各主流浏览器
        /** Event handler for mouse wheel event. 
             *鼠标滚动事件 
             */  
             var wheel = function(event) {  
                var delta = 0;  
                if (!event) /* For IE. */  
                    event = window.event;  
                if (event.wheelDelta) { /* IE/Opera. */  
                    delta = event.wheelDelta / 120;  
                } else if (event.detail) {  
                    /** Mozilla case. */  
                    /** In Mozilla, sign of delta is different than in IE. 
                     * Also, delta is multiple of 3. 
                     */  
                    delta = -event.detail / 3;  
                }  
                /** If delta is nonzero, handle it. 
                 * Basically, delta is now positive if wheel was scrolled up, 
                 * and negative, if wheel was scrolled down. 
                 */  
                if (delta)  
                    handle(delta);  
                /** Prevent default actions caused by mouse wheel. 
                 * That might be ugly, but we handle scrolls somehow 
                 * anyway, so don't bother here.. 
                 */  
                if (event.preventDefault)  
                    event.preventDefault();  
                event.returnValue = false;  
            }  
      
            /** Initialization code.  
             * If you use your own event management code, change it as required. 
             */  
            if (window.addEventListener) {  
                /** DOMMouseScroll is for mozilla. */  
                window.addEventListener('DOMMouseScroll', wheel, false);  
            }  
            /** IE/Opera. */  
            window.onmousewheel = document.onmousewheel = wheel;  
      
            /** This is high-level function. 
             * It must react to delta being more/less than zero. 
             */  
            var handle = function(delta) {  
                var random_num = Math.floor((Math.random() * 100) + 50);  
                if (delta < 0) {  
                    //  alert("鼠标滑轮向下滚动:" + delta + "次!"); // 1  
                    return;  
                } else {  
                    //  alert("鼠标滑轮向上滚动:" + delta + "次!"); // -1  
                    return;  
                }  
            } 
    
    
  • 相关阅读:
    SCCM2012 R2实战系列之七:软件分发(exe)
    man 手册--nc
    挂载虚拟机磁盘文件
    bond模式详解
    Windows下计算md5值
    man手册--iostat
    mount---挂载文件系统
    Linux-swap分区
    sync---强制将被改变的内容立刻写入磁盘
    vmstat---有关进程、虚存、页面交换空间及 CPU信息
  • 原文地址:https://www.cnblogs.com/aryu/p/js.html
Copyright © 2011-2022 走看看