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 相关文章推荐
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
Oct 20 Javascript
Javascript 读取操作Sql中的Xml字段
Oct 09 Javascript
javascript实现一个简单的弹出窗
Feb 22 Javascript
浅谈AngularJs 双向绑定原理(数据绑定机制)
Dec 07 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
Jan 06 jQuery
vue cli构建的项目中请求代理与项目打包问题
Feb 26 Javascript
vue axios基于常见业务场景的二次封装的实现
Sep 21 Javascript
ElementUI radio组件选中小改造
Aug 12 Javascript
扫微信小程序码实现网站登陆实现解析
Aug 20 Javascript
angular8和ngrx8结合使用的步骤介绍
Dec 01 Javascript
JS实现可控制的进度条
Mar 25 Javascript
微信小程序自定义联系人弹窗
May 26 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
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
2010/03/15 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
jQuery Ajax之load()方法
2009/10/12 Javascript
javascript 哈希表(hashtable)的简单实现
2010/01/20 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
jQuery使用height()获取高度需要注意的地方
2014/12/13 Javascript
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
2015/01/01 NodeJs
JavaScript获取指定元素位置的方法
2015/04/08 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
详解Sea.js中Module.exports和exports的区别
2017/02/12 Javascript
javascript观察者模式实现自动刷新效果
2017/09/05 Javascript
浅谈JavaScript find 方法不支持IE的问题
2017/09/28 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
小程序封装wx.request请求并创建接口管理文件的实现
2019/04/29 Javascript
深入浅析vue中cross-env的使用
2019/09/12 Javascript
python通过ElementTree操作XML获取结点读取属性美化XML
2013/12/02 Python
python安装mysql-python简明笔记(ubuntu环境)
2016/06/25 Python
Python中str.join()简单用法示例
2018/03/20 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
Python的多维空数组赋值方法
2018/04/13 Python
Python利用正则表达式实现计算器算法思路解析
2018/04/25 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
python应用文件读取与登录注册功能
2019/09/23 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
使用Html5多媒体实现微信语音功能
2019/07/26 HTML / CSS
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
String和StringBuffer的区别
2015/08/13 面试题
大专毕业生简历的自我评价
2013/10/20 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
会议通知格式范文
2015/04/15 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
Docker 镜像介绍以及commit相关操作
2022/04/13 Servers