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 相关文章推荐
如何用javascript判断录入的日期是否合法
Jan 08 Javascript
制作jquery遮罩层效果导航菜单代码分享
Dec 25 Javascript
JavaScript模拟数组合并concat
Mar 06 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
Nov 26 Javascript
前端MVVM框架解析之双向绑定
Jan 24 Javascript
vue数据传递--我有特殊的实现技巧
Mar 20 Javascript
vue.js实现的绑定class操作示例
Jul 06 Javascript
详解微信小程序开发聊天室—实时聊天,支持图片预览
May 20 Javascript
vue+element 实现商城主题开发的示例代码
Mar 26 Javascript
js实现时钟定时器
Mar 26 Javascript
关于vue中如何监听数组变化
Apr 28 Vue.js
解决vue-router的beforeRouteUpdate不能触发
Apr 14 Vue.js
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
PHP设计聊天室步步通
2006/10/09 PHP
PHP高级OOP技术演示
2009/08/27 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
jquery 得到当前页面高度和宽度的两个函数
2010/02/21 Javascript
Javascript面象对象成员、共享成员变量实验
2010/11/19 Javascript
javascript继承之为什么要继承
2012/11/10 Javascript
hover的用法及live的用法介绍(鼠标悬停效果)
2013/03/29 Javascript
jquery 模板的应用示例
2013/11/12 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
通过JS动态创建一个html DOM元素并显示
2014/10/15 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
javascript计时器详解
2015/02/28 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
详解使用vscode+es6写nodejs服务端调试配置
2017/09/21 NodeJs
js中的闭包学习心得
2018/02/06 Javascript
使用canvas实现一个vue弹幕组件功能
2018/11/30 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
浅析使用Python操作文件
2017/07/31 Python
使用python绘制二元函数图像的实例
2019/02/12 Python
基于 Django 的手机管理系统实现过程详解
2019/08/16 Python
postman传递当前时间戳实例详解
2019/09/14 Python
python 实现单通道转3通道
2019/12/03 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
台湾森森购物网:U-mall
2017/10/16 全球购物
简述数组与指针的区别
2014/01/02 面试题
《骆驼和羊》教学反思
2014/02/27 职场文书
2014年清明节寄语
2014/04/03 职场文书
“四风”问题自我剖析材料思想汇报
2014/09/23 职场文书
2014报到证办理个人委托书
2014/10/08 职场文书
2014年医生工作总结
2014/11/21 职场文书
检讨书范文1000字
2015/01/28 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js