JS滚轮事件onmousewheel的用法

发布时间:2020-09-10编辑:脚本学堂
本文介绍下,在javascript编程中,有关滚轮事件onmousewheel的用法,有需要的朋友参考下。

本节内容:
滚轮事件onmousewheel的用法

鼠标滚轮滚动控制图片或文字的大小,例如此类的转动鼠标滚轮实现缩放等等交互效果中,会用到 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” 属性。