JS滚轮事件onmousewheel使用介绍


Posted in Javascript onNovember 01, 2013

典型的应用时鼠标滚轮滚动控制图片或者文字的大小,例如此类的转动鼠标滚轮实现缩放等等交互效果中,会用到 Mousewheel 事件。在大多数浏览器(IE6, IE7, IE8, Opera 10+, Safari 5+)中,都提供了 “mousewheel” 事件。滚轮事件的兼容性差异有些不拘一格,不是以往的IE8-派和其他派,而是FireFox派和其他派,杯具的是 Firefox 3.5+ 却不支持此事件,不过庆幸 Firefox 3.5+ 中提供了另外一个等同的事件:”DOMMouseScroll” ,兼容代码如下:

// isFirefox 是伪代码,大家可以自行实现 
mousewheel = isFirefox ? "DOMMouseScroll" : "mousewheel"; “mousewheel” 事件中的 “event.wheelDelta” 属性值:返回的值,如果是正值说明滚轮是向上滚动,如果是负值说明滚轮是向下滚动;返回的值,均为120 的倍数,即:幅度大小 = 返回的值 / 120。 
“DOMMouseScroll” 事件中的 “event.detail” 属性值:返回的值,如果是负值说明滚轮是向上滚动(与 “event.wheelDelta” 正好相反),如果是正值说明滚轮是向下滚动;返回的值,均为 3 的倍数,即:幅度大小 = 返回的值 / 3。 
“mousewheel” 事件在 Opera 10+ 中却是个特例,既有 “event.wheelDelta” 属性,也有 “event.detail” 属性。
Javascript 相关文章推荐
js中用window.open()打开多个窗口的name问题
Mar 13 Javascript
自己使用js/jquery写的一个定制对话框控件
May 02 Javascript
JavaScript编程中容易出BUG的几点小知识
Jan 31 Javascript
jQuery选择器及jquery案例详解(必看)
May 20 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
Jan 20 Javascript
详解如何在react中搭建d3力导向图
Jan 12 Javascript
JointJS JavaScript流程图绘制框架解析
Aug 15 Javascript
实现一个Vue自定义指令懒加载的方法示例
Jun 04 Javascript
解决Vue 给mapState中定义的属性赋值报错的问题
Jun 22 Javascript
vue-model实现简易计算器
Aug 17 Javascript
VUE+Element实现增删改查的示例源码
Nov 23 Vue.js
关于React Native使用axios进行网络请求的方法
Aug 02 Javascript
JS实现拖动示例代码
Nov 01 #Javascript
多种方法实现JS动态添加事件
Nov 01 #Javascript
基于jquery插件实现常见的幻灯片效果
Nov 01 #Javascript
jQuery Mobile 导航栏代码
Nov 01 #Javascript
js将json格式内容转换成对象的方法
Nov 01 #Javascript
JS实现切换标签页效果实例代码
Nov 01 #Javascript
Javascript delete 引用类型对象
Nov 01 #Javascript
You might like
destoon实现调用热门关键字的方法
2014/07/15 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
页面使用密码保护代码
2013/04/10 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
AngularJS基础知识笔记之过滤器
2015/05/10 Javascript
Angularjs注入拦截器实现Loading效果
2015/12/28 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
2017/02/14 Javascript
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
angularjs模态框的使用代码实例
2019/12/20 Javascript
Python 字典(Dictionary)操作详解
2014/03/11 Python
Django日志模块logging的配置详解
2017/02/14 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
python基于itchat模块实现微信防撤回
2019/04/29 Python
python队列原理及实现方法示例
2019/11/27 Python
如何用Python绘制3D柱形图
2020/09/16 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
2012/12/30 HTML / CSS
北美大型运动类产品商城:Champs Sports
2017/01/12 全球购物
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
考试没考好检讨书
2014/01/31 职场文书
2014年国庆节寄语
2014/09/19 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书
婚礼长辈答谢词
2015/09/29 职场文书
高中物理教学反思
2016/02/19 职场文书
Vue中插槽slot的使用方法与应用场景详析
2021/06/08 Vue.js
基于Python编写一个监控CPU的应用系统
2022/06/25 Python
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android