zoukankan      html  css  js  c++  java
  • js中的鼠标滚轮事件

    ##  事件对象 event
        1 event事件对象,表示用来获取事件的详细信息,比如得到鼠标的横坐标:事件对象.clientX(clientX是可视区坐标)
                window.onclick = function(ev){
                    var oEvent = ev || event;//event为IE8和IE8以下浏览器浏览器事件对象可以直接使用;
                    //以上代码可以判断是否传递了事件对象参数,如果传递了则使用传递的事件对象ev,否则使用window.event
                    alert(oEvent.type);//click类型
                }
        2 事件对象的兼容写法
            a.IE8和IE8以下浏览器不能传递参数,只能使用window.event对象。
            b.谷歌浏览器既可以传递事件对象参数,也可以使用window.envent对象,十分全面。
            c.火狐浏览器只能使用传递的事件对象参数。
            因此针对不同浏览器,兼容性写法如下:
                事件.事件类型 = function(ev){//事件类型如鼠标点击事件
                    var oEvent = ev || event;
                }
                
    
    ## 鼠标滚轮事件
        1 非火狐: mousewheel
            这里,event.wheelDelta < 0向下滚动
        2 火狐:DOMMouseScroll
            这里,event.detail > 0 为向下滚动,event.detail < 0 为向上滚动
        3.浏览器兼容性写法如下:
            document.onmousewheel = wheelHander;//非火狐
            document.addEventListener('DOMMouseScroll',wheelHander,false);//火狐
            
            function wheelHander(e){
                //事件的兼容性写法 
                oEvent = e || window.event;
                if(oEvent.wheelDelta){//非火狐
                    if(oEvent.wheelDelta > 0){//向上滚动
                        
                    }else{//向下滚动
                        
                    }
                }else if(oEvent.detail){
                    if(oEvent.detail > 0){//向下滚动
                        
                    }else{//向上滚动
                        
                    }
                }
            }
                
        3 案例:使用滚轮改变图片的大小
            
            var img = document.getElementsByTagName('img')[0];
            
            //非火狐实现滚轮效果
            document.onmousewheel = wheelHander;//非火狐
            //火狐一家使用DOMMouseScroll实现滚轮效果
            document.addEventListener('DOMMouseScroll',wheelHander,false);
            
            function wheelHander(e){
                oEvent = e || window.event;
                if(oEvent.wheelDelta){//非火狐
                    if(oEvent.wheelDelta > 0){//向上滚动
                        img.height++;
                    }else{//向下滚动
                        img.height--;
                    }
                }else if(oEvent.detail){
                    if(oEvent.detail > 0){//向下滚动
                        img.height--;
                    }else{//向上滚动
                        img.height++;
                    }
                }
            }
            

    获取更多前端知识,请关注下方二维码 ↓↓↓↓↓↓

     

  • 相关阅读:
    企业如何推行白盒测试
    Java命名规范
    MobileVLC for iphoneos4.3
    用Android NDK编译FFmpeg
    Linux 下Android 开发环境搭建 ---CentOS
    为什么要做白盒测试
    vlc的第三方库contrib的修改之一:live库的修改
    VC命名规范
    POJ 1470 Closest Common Ancestors (LCA入门题)
    HDU 4407 Sum 第37届ACM/ICPC 金华赛区 第1008题 (容斥原理)
  • 原文地址:https://www.cnblogs.com/menglong1214/p/9595009.html
Copyright © 2011-2022 走看看