javascript滚轮事件基础实例讲解(37)


Posted in Javascript onFebruary 14, 2017

本文实例为大家分享了js滚轮事件的具体代码,供大家参考,具体内容如下

<html> 
  <head> 
    <meta charset="UTF-8"> 
    <title></title> 
    <style type="text/css"> 
      #box1{ 
        width: 100px; 
        height: 100px; 
        background-color: red; 
      } 
       
    </style> 
     
    <script type="text/javascript"> 
       
      window.onload = function(){ 
         
        //使div可以跟随鼠标滚轮滚动来改变高度 
        //滚轮向下滚,div变高 滚轮向上滚 div变短 
         
        //获取box1 
        var box1 = document.getElementById("box1"); 
         
        /* 
         * onmousewheel 
         * - 鼠标滚轮滚动的事件,但是该事件火狐浏览器并不支持 
         * - 在火狐中需要使用DOMMouseScroll,这个事件只能通过addEventListener()来绑定 
         */ 
        //为box1绑定一个鼠标滚轮滚动的事件 
        box1.onmousewheel = function(event){ 
          event = event || window.event; 
           
          //判断滚轮滚动的方向 
          /* 
           * wheelDelta 
           * - 事件对象中的属性,可以用来判断鼠标滚轮滚动的方向 
           * - 向下滚 -120 向上滚 +120 
           * - 该属性的值并不重要,重要的是值的符号,需要通过符号来判断滚动的方向 
           * - 但是该属性火狐浏览器并不支持 
           */ 
          //alert(event.wheelDelta); 
           
          /* 
           * 火狐中通过detail来判断方向 
           * - 向上滚 -3  向下滚 +3 
           */ 
          //alert(event.detail); 
           
          if(event.wheelDelta < 0 || event.detail > 0){ 
            //向下滚 
            //增加box1的高度 
            box1.style.height = box1.offsetHeight + 10 + "px"; 
             
          }else{ 
            //向上滚 
            //减小box1的高度 
            box1.style.height = box1.offsetHeight - 10 + "px"; 
          } 
           
           
          /* 
           * 使用addEventListener()绑定的事件,不能通过return false来取消默认行为 
           * 需要调用事件对象 preventDefault()方法来取消默认行为 
           * 但是在IE8中没有该方法 
           */ 
          event.preventDefault && event.preventDefault(); 
           
          //当页面中有滚动条时,由于滚轮滚动的默认行为会导致页面整体下移 
          //取消默认行为 
          return false; 
           
        }; 
         
        bind(box1 , "DOMMouseScroll" , box1.onmousewheel); 
         
         
      }; 
       
      function bind(obj , eventStr , callback){ 
         
        if(obj.addEventListener){ 
          //如果是正常浏览器 
          obj.addEventListener(eventStr , callback , false); 
        }else{ 
          //IE8 
          obj.attachEvent("on"+eventStr , function(){ 
            callback.call(obj); 
          }); 
        } 
      } 
       
    </script> 
  </head> 
  <body style="height: 3000px;"> 
     
    <div id="box1"></div> 
     
     
  </body> 
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
利用JS重写Cognos右键菜单的实现代码
Apr 11 Javascript
jquery 弹出层注册页面等(asp.net后台)
Jun 17 Javascript
js跨域问题之跨域iframe自适应大小实现代码
Jul 17 Javascript
一个简单的动态加载js和css的jquery代码
Sep 01 Javascript
Javascript 是你的高阶函数(高级应用)
Jun 15 Javascript
JavaScript弹窗基础篇
Apr 27 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
Aug 15 Javascript
深入剖析Express cookie-parser中间件实现示例
Feb 01 Javascript
浅谈vue方法内的方法使用this的问题
Sep 15 Javascript
开源一个微信小程序仪表盘组件过程解析
Jul 30 Javascript
JavaScript运动原理基础知识详解
Apr 02 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
Feb 10 Javascript
基于canvas的二维码邀请函生成插件
Feb 14 #Javascript
javascript事件的绑定基础实例讲解(34)
Feb 14 #Javascript
javascript深拷贝和浅拷贝详解
Feb 14 #Javascript
javascript事件的传播基础实例讲解(35)
Feb 14 #Javascript
微信小程序中实现一对多发消息详解及实例代码
Feb 14 #Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
Feb 14 #Javascript
js基于myFocus实现轮播图效果
Feb 14 #Javascript
You might like
TP5框架安全机制实例分析
2020/04/05 PHP
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
推荐30个新鲜出炉的精美 jQuery 效果
2012/03/26 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
js函数在frame中的相互调用详解
2014/03/03 Javascript
javascript中的遍历for in 以及with的用法
2014/12/22 Javascript
jquery div模态窗口的简单实例
2016/05/28 Javascript
移动端基础事件总结与应用
2017/01/12 Javascript
jquery表单验证实例仿Toast提示效果
2017/03/03 Javascript
webpack构建react多页面应用详解
2017/09/15 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
vue实现div拖拽互换位置
2020/07/29 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
eslint+prettier统一代码风格的实现方法
2020/07/22 Javascript
浅谈JavaScript中this的指向问题
2020/07/28 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
python执行外部程序的常用方法小结
2015/03/21 Python
Python中使用platform模块获取系统信息的用法教程
2016/07/08 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
2020/02/28 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
2020/02/28 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
联想墨西哥官方网站:Lenovo墨西哥
2016/08/17 全球购物
苹果台湾官网:Apple台湾
2019/01/05 全球购物
iostream与iostream.h的区别
2015/01/16 面试题
优秀幼教自荐信
2014/02/03 职场文书
管理提升方案
2014/06/04 职场文书
日语专业求职信
2014/07/04 职场文书
机械制造专业大学生自我鉴定
2014/09/19 职场文书
使用pycharm运行flask应用程序的详细教程
2021/06/07 Python
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript