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;  
                }  
            } 
    
    
  • 相关阅读:
    Web前端 --- jQuery
    关于前端 jQuery 面试的知识点
    面试官:讲讲mysql表设计要注意啥
    Python中的单例模式的几种实现方式的及优化
    HTTP协议【详解】——经典面试题
    Web前端 --- BOM和DOM
    基于css文件编写一个简单的html前端页面
    Web前端 --- JavaScript
    Linux 命令(一) find&grep文件查找命令
    线程池
  • 原文地址:https://www.cnblogs.com/aryu/p/js.html
Copyright © 2011-2022 走看看