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 相关文章推荐
HTML页面如何象ASP一样接受参数
Feb 07 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
May 21 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
Dec 21 Javascript
HTML5开发Kinect体感游戏的实例应用
Sep 18 Javascript
基于substring()和substr()的使用以及区别(实例讲解)
Dec 28 Javascript
vue底部加载更多的实例代码
Jun 29 Javascript
小试SVG之新手小白入门教程
Jan 08 Javascript
jquery的$().each和$.each的区别
Jan 18 jQuery
详解vue移动端项目代码拆分记录
Mar 15 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
Mar 21 Javascript
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
Jun 24 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
Sep 28 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
phpfans留言版用到的数据操作类和分页类
2007/01/04 PHP
PHP中MD5函数使用实例代码
2008/06/07 PHP
Yii2实现上下联动下拉框功能的方法
2016/08/10 PHP
yii2的restful api路由实例详解
2019/05/14 PHP
jQuery 自动增长的文本输入框实现代码
2010/04/02 Javascript
jQuery中each()方法用法实例
2014/12/27 Javascript
jQuery中:submit选择器用法实例
2015/01/03 Javascript
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
JavaScript获得指定对象大小的方法
2015/07/01 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
超赞的jQuery图片滑块动画特效代码汇总
2016/01/25 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
2017/01/13 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
js实现控制文件拖拽并获取拖拽内容功能
2018/02/17 Javascript
学习React中ref的两个demo示例
2018/08/14 Javascript
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
layui复选框限制选择个数的方法
2019/09/18 Javascript
js实现登录时记住密码的方法分析
2020/04/05 Javascript
[47:03]Ti4第二日主赛事败者组 LGD vs iG 2
2014/07/21 DOTA
在Python中处理时间之clock()方法的使用
2015/05/22 Python
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
用pyqt5 给按钮设置图标和css样式的方法
2019/06/24 Python
HTML5实现移动端点击翻牌功能
2020/10/23 HTML / CSS
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
2014/08/09 面试题
秋季运动会演讲稿
2014/09/16 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
信仰观后感
2015/06/03 职场文书
如何理解python接口自动化之logging日志模块
2021/06/15 Python
浅谈Python数学建模之线性规划
2021/06/23 Python
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS
html用代码制作虚线框怎么做? dw制作虚线圆圈的技巧
2022/12/24 HTML / CSS