美文网首页
鼠标滚轮事件

鼠标滚轮事件

作者: likeli | 来源:发表于2017-11-18 12:02 被阅读0次

通过一个小例子来介绍鼠标的滚轮事件,通过鼠标向上滚动来放大图片,向下滚动来缩小图片
下面是HTML文档

  <!DOCTYPE html>
  <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>滚轮练习</title>
    <style type="text/css">
        img{
            width: 200px;

        }
    </style>
    </head>
    <body>
        <img src="2.jpg">
    </body>
    <script type="text/javascript" src="mousewheel.js"></script>
    <script type="text/javascript">
        var img=document.getElementsByTagName("img")[0];
        var scales=1;
        wheel(img,function (value){
            if(value){
                if(scales<4){
                    scales+=0.1;
                    img.style.transform="scale("+scales+")";
                }
            }else{
                if(scales>0.4){
                    scales-=0.1;
                    img.style.transform="scale("+scales+")";
                }
            }
        })
    </script>
</html>

下面是封装的滚轮事件

  //onmousewheel;针对于非火狐浏览器
  // 向上滚动是负值
  //火狐浏览器滚动方式
  // 向上滚动是正值
  //封装函数返回向上或者向下
  function wheel(obj,callback){
      // 标记当前是向上还是向下
      var down=false;
      //判断浏览器是不是火狐
      var str=window.navigator.userAgent;
      if(str.indexOf("Firefox")!=-1){
          obj.addEventListener("DOMMouseScroll",function(e){
          var ev=e || window.event;
          if(ev.detail<0){
              down=true;
          }else{
              down=false;
          }
          callback(down);
       },false);
      }else{
           obj.onmousewheel=function(e){
           var ev=e || window.event;
           if(ev.wheelDelta<0){
              down=false;
           }else{
              down=true;
           }
           // 函数回调 将正确的方向结果返回给前面
           callback(down);
           }
      }
      return down;
  }

运行结果如下:
原图:


11722CA8-4E5D-477E-B7A3-574B3CEEC61E.png

向上滚动放大图片:


B1EAD300-C076-4CBD-A07E-2D78FB1A8B15.png
向下缩小图片:
15EEBA67-DA68-4E7A-9738-06467BFB85CF.png

通过这个函数就可以对图片进行处理了,这个函数可以作为一个插件用来对网页中使用到滚轮事件的地方。

相关文章

网友评论

      本文标题:鼠标滚轮事件

      本文链接:https://www.haomeiwen.com/subject/rrdevxtx.html