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 相关文章推荐
JavaScript中的this实例分析
Apr 28 Javascript
jQuery列表拖动排列具体实现
Nov 04 Javascript
jQuery实现的导航条切换可显示隐藏
Oct 22 Javascript
自己动手手写jQuery插件总结
Jan 20 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
Mar 01 Javascript
js由下向上不断上升冒气泡效果实例
May 07 Javascript
JavaScript中Window对象的属性及事件
Dec 25 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
Jan 28 Javascript
Node.js爬取豆瓣数据实例分析
Mar 05 Javascript
JS实现的简单折叠展开动画效果示例
Apr 28 Javascript
Vue父子组建的简单通信之控制开关Switch的实现
Jun 04 Javascript
Vue作用域插槽slot-scope实例代码
Sep 05 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
无数据库的详细域名查询程序PHP版(4)
2006/10/09 PHP
php生成WAP页面
2006/10/09 PHP
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
用PHP将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
2011/03/19 PHP
php实现多维数组中每个单元值(数字)翻倍的方法
2015/02/16 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
不用ajax实现点击文字即可编辑的方法
2007/12/16 Javascript
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
详解微信小程序中组件通讯
2018/10/30 Javascript
原生JS实现贪吃蛇小游戏
2020/03/09 Javascript
小程序使用分包的示例代码
2020/03/23 Javascript
python3.0 字典key排序
2008/12/24 Python
python模拟登录百度代码分享(获取百度贴吧等级)
2013/12/27 Python
JPype实现在python中调用JAVA的实例
2017/07/19 Python
Python多进程multiprocessing用法实例分析
2017/08/18 Python
python文件选择对话框的操作方法
2019/06/27 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
2019/08/02 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
Python中函数的返回值示例浅析
2019/08/28 Python
python3 pathlib库Path类方法总结
2019/12/26 Python
python实现tail -f 功能
2020/01/17 Python
Python Sphinx使用实例及问题解决
2020/01/17 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
大学生怎样进行自我评价
2013/12/07 职场文书
办公室经理岗位职责
2014/01/01 职场文书
优秀体育委员自荐书
2014/01/31 职场文书
城镇居民医疗保险工作总结
2015/08/10 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书