mousewheel 与 DOMMouseScroll

FF使用DOMMouseScroll,其他浏览器使用mousewheel

FF在一个特殊的属性event.detail。表示滚动的值

event.detail

正数:向下滚动,负数:向上滚动

滚动一次值3,向上滚动一页值为-32768,向下滚动一页值为+32768。其它值代表滚动的行数, 方向代表了数值的正负号

受信任的事件是不会给detail赋值0

其它浏览器,通过event.wheelDelta获取滚动值

正数:向上滚动。负数:向下滚动

滚动一次值120

  1. //非FF
  2. //event.wheelDelta
  3. // 正数:向上滚动。负数:向下滚动
  4. // 滚动一次值120
  5. document.body.onmousewheel = function (event) {
  6. event = event || window.event;
  7. log(‘onmousewheel‘);
  8. log(event);
  9. log(‘event.detail=‘ + event.detail);//0
  10. log(‘event.wheelDelta=‘ + event.wheelDelta);
  11. };
  12. //FF
  13. // event.detail
  14. // 正数:向下滚动。负数:向上滚动
  15. // 向上滚动一页值为-32768,向下滚动一页值为+32768,其它值代表滚动的行数, 方向代表了数值的正负号
  16. // 受信任的事件是不会给detail赋值0
  17. document.body.addEventListener("DOMMouseScroll", function (event) {
  18. log(‘DOMMouseScroll‘);
  19. log(event);
  20. log(event.detail);
  21. });
  22. function log(arg) {
  23. window.console && window.console.log(arg);
  24. }

參考资料

https://developer.mozilla.org/en-US/docs/Web/Events/DOMMouseScroll

https://developer.mozilla.org/en-US/docs/Web/Events/mousewheel

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-10-05 21:25:30

mousewheel 与 DOMMouseScroll的相关文章

鼠标滚轮(mousewheel)和DOMMouseScroll事件

IE6.0首先实现了mousewheel事件.此后,Opera.Chrome和Safari也都实现了这个事件.当用户通过鼠标滚轮与页面交互.在垂直方向上滚动页面时(无论向下还是向上),就会触发mousewheel事件.这个事件可以在任何元素上面触发,最终会冒泡到document(IE)或window(Opera.Chrome.及Safari)对象.与mousewheel事件对应的event对象包含鼠标事件的所有标准信息之外,还包含一个特殊的wheelDelta属性.当用于向前滚动鼠标滚轮是,wh

mousewheel事件细节

当需要制作转动鼠标滚轮放大页面字体这样的交互效果时,会用到 Mousewheel 事件.其实在大多数浏览器(IE6, IE7, IE8, Opera 10+, Safari 5+)中,都提供了 "mousewheel" 事件.但杯具的是 Firefox 3.5+ 却不支持此事件,不过庆幸 Firefox 3.5+ 中提供了另外一个等同的事件:"DOMMouseScroll" (事件和事件属性的测试案例).兼容代码如下:var addEvent = (function

鼠标滚轮事件MouseWheel

其实在大多数浏览器(IE6, IE7, IE8, Opera 10+, Safari 5+,Chrome)中,都提供了 "mousewheel" 事件.但杯具的是 Firefox 却不支持此事件,不过庆幸 Firefox  中提供了另外一个等同的事件:"DOMMouseScroll" . OK,我们现在已经知道了不同浏览器之间实现的差别,兼容代码如下: var addEvent = (function () { if (window.addEventListener

关于jQuery中实现放大镜效果

1.1.1 摘要 相信大家都见过或使用过放大镜效果,甚至实现过该效果,它一般应用于放大查看商品图片,一些电商网站(例如:凡客,京东商城,阿里巴巴等)都有类似的图片查看效果. 在接下来的博文中,我们将向大家介绍通过jQuery实现放大镜效果. 目录 实现原理 mousemove事件 相对坐标 background-position属性 mousewheel事件 1.1.2 正文 实现原理 首先,我们讲解一下放大镜效果的实现方式: 方法一:准备一张高像素的大图,当鼠标放到原图上,加载显示大图的对应位

第十一章:事件系统

事件系统是一个框架非常重要的部分,用于响应用户的各种行为.浏览器提供了3个层次的api,用于响应用户的各种行为. 1.最原始的是写在元素标签内.2.再次是脚本内,以el.onXXX = function绑定的方式,统称为DOM0事件系统.3.最后是多投事件系统,一个元素的同一类型事件可以绑定多个回调,统常称为DOM2事件系统. 由于浏览器大战,现存两套API. IE与opera:绑定事件:el.attachEvent("on"+ type, callback)卸载事件:el.detac

【个人主页】搭建个人主页,准备找工作啦

1.首页:添加背景图 2.项目经验:分几个部分进行展示 小游戏.论坛.插件.css3.vue.jQuery mobile.todolist 3.前端技能 4.个人经历 5.左侧信息栏 js部分: 滚轮事件和键盘事件 参考:http://www.ydcss.com/archives/516 WebKit内核,Trident内核 => mousewheel Gecko内核 => DOMMouseScroll 1.mousewheel IE6首先实现了mousewheel事件.此后,Opera.Ch

使用jquery实现放大镜效果

实现原理 首先,我们讲解一下放大镜效果的实现方式: 方法一:准备一张高像素的大图,当鼠标放到原图上,加载显示大图的对应位置. 方法二:对原图片进行放大,也就是调整原图的长和宽. 上面我们介绍了通过两种方式实现放大镜效果,接下来,我们将以上的两种方式应用到我们的jQuery插件中. 首先,我们需要一个img元素显示原图对象,还需要一个容器作为显示框:显示框里面存放大图对象.当鼠标移动到原图上时,通过对大图进行绝对定位来显示对应的部位,实现类似放大镜的效果. 接下来,让我们定义Index.html页

跨浏览器事件对象封装

封装一个能够隔离浏览器差异的JavaScript库EventUtil,主要是使用能力检测. var EventUtil={ addHandler:function(element,type,handler){ if(element.addEventListener){ element.addEventListener(type,handler,false); }else if(element.attachEvent){ element.attachEvent('on'+type,handler)

JavaScript的事件绑定及深入

事件绑定分为两种:一种是传统事件绑定(内联模型,脚本模型),一种是现代事件绑定 (DOM2 级模型).现代事件绑定在传统绑定上提供了更强大更方便的功能. 一.传统事件绑定的问题传统事件绑定有内联模型和脚本模型,内联模型我们不做讨论,基本很少去用.先来看一下脚本模型,脚本模型将一个函数赋值给一个事件处理函数. var box = document.getElementById('box'); //获取元素 box.onclick = function () { //元素点击触发事件 alert('