[[IT知识]] 揭秘:如何准确判断鼠标滚轮上下滚动方向

[复制链接]
查看: 33|回复: 0
发表于 2025-2-13 09:30:01 | 显示全部楼层 | 阅读模式
易博V9下载

揭秘:如何准确判断鼠标滚轮上下滚动方向

判断鼠标滚轮是向上或向下滚动,不同的浏览器的判别方式是不一样的,当前比较流行的浏览器有 IE,Opera,Safari,Firefox,Chrome,在这个问题上Firefox和其他浏览器的实现方式是不一样的。现在通过一个具体的示例来分析这个问题吧!
 
示例代码如下:

  1. <label for="wheelDelta">;滚动值:</label>;(IE/Opera)<input type="text" id="wheelDelta"/>;
  2. <label for="detail">;滚动值:(Firefox)</label>;<input type="text" id="detail"/>;
  3. <script type="text/javascript">;
  4. /*注册事件*/
  5. if(document.addEventListener){
  6. document.addEventListener('DOMMouseScroll',scrollFunc,false);
  7. }//W3C
  8. window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome
  9. var scrollFunc=function(e){
  10. e=e || window.event;
  11. var t1=document.getElementById("wheelDelta");
  12. var t2=document.getElementById("detail");
  13. if(e.wheelDelta){//如果是IE/Opera/Chrome浏览器
  14. t1.value=e.wheelDelta;
  15. }else if(e.detail){//如果是Firefox浏览器
  16. t2.value=e.detail;
  17. }
  18. }
  19. </script>;
复制代码

通过运行上述代码我们可以看到:

在 Firefox 中使用detAIl,其余浏览器使用的是wheelDelta;两者虽在取值上不一致,但实际意思是一样的,detail与wheelDelta只各取两个值,detail只取±3,wheelDelta只取±120,其中正数表示为向上,负数表示向下。

在非firefox浏览器中,滚轮向上滚动返回的数值是120,向下滚动返回-120
 
而在firefox浏览器中,滚轮向上滚动返回的数值是-3,向下滚动返回3
 
代码部分如下,e.wheelDelta是判断是否为非firefox浏览器,e.detail判别为是firefox浏览器

  1. if(e.wheelDelta){//IE/Opera/Chrome
  2. t1.value=e.wheelDelta;
  3. }else if(e.detail){//Firefox
  4. t2.value=e.detail;
  5. }
复制代码
易博软件介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|Archiver|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表