js滚轮事件兼容性问题需要注意哪些


Posted in Javascript onNovember 15, 2016

本文实例为大家解析了js滚轮事件需要注意的兼容性问题,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
  #div {
   width: 300px;
   height: 300px;
   background: red;
  }
 </style>
 <script>
  function addEvent(obj,sEv,fn){
   if(obj.addEventListener){
    return obj.addEventListener(sEv,fn,false);
   }else{
    return obj.attachEvent('on' + sEv,fn);
   }
  }

  function addWheel(obj,fn){
   function wheel(ev){
    var oEvent = ev || event;
    var bDown = true;
    bDown = oEvent.wheelDelta?oEvent.wheelDelta > 0:oEvent.detail < 0;
    fn && fn(bDown);
    oEvent.preventDefault && oEvent.preventDefault();
    return false;
   }
------------------------------------------------------------------
return false阻止浏览器默认行为,遇到绑定添加的事件的时候就失效了;
所有要用oEvent.preventDefault();在使用此方法前要做判断;
------------------------------------------------------------------
   if(window.navigator.userAgent.indexOf('Firefox') !=-1){
    obj.addEventListener('DOMMouseScroll',wheel,false);注:所有以DOM开头的只能通过事件绑定的形式添加此事件;
   }else{
    addEvent(obj,'mousewheel',wheel);
   }
  }
-------------------------------------------------------------------------------------------------
 obj.onmousewheel:滚动鼠标滚轮的时候触发;兼容IE系列和chrome;
 DOMMouseScroll:只能通过事件绑定的形式添加此事件;只兼容FF;
 兼容性问题解决方案:判断浏览器;
 oEvent.wheelDelta:不兼容FF;火狐下报undefined;
  chrome&&IE:
   下:-120;//以具体弹出数字为准
   上:120;

 oEvent.detail:
  FF:
   下:3;//以具体弹出数字为准
---------------------------------------------------------------------------------------------------
  window.onload = function () {
   var oDiv = document.getElementById('div');
   addWheel(oDiv,function(bDown){
    oDiv.onmousewheel = null;
    if(bDown){
     oDiv.style.height = oDiv.offsetHeight - 10 + 'px';
    }else{
     oDiv.style.height = oDiv.offsetHeight + 10 + 'px';
    }
   });
  }
 </script>
</head>
<body>
<div id="div"></div>
</body>
</html>

滚轮事件的兼容性问题比较多,所以大家在实现这个效果的时候也要随时测试兼容性的问题。

暂时整理的大概就这些,还有很多不足的地方,大家多提宝贵意见!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS array 数组详解
Mar 22 Javascript
JS按字节截取字符长度实例
Nov 20 Javascript
JS定义网页表单提交(submit)的方法
Mar 20 Javascript
JS实现随机乱撞彩色圆球特效的方法
May 05 Javascript
AspNet中使用JQuery上传插件Uploadify详解
May 20 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
Jul 31 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
Nov 05 Javascript
JavaScript 经典实例日常收集整理(常用经典)
Mar 30 Javascript
Bootstrap3.0学习教程之JS折叠插件
May 27 Javascript
vue移动UI框架滑动加载数据的方法
Mar 12 Javascript
使用node.JS中的url模块解析URL信息
Feb 06 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
Oct 28 Javascript
禁用backspace网页回退功能的实现代码
Nov 15 #Javascript
sea.js常用的api简易文档
Nov 15 #Javascript
js实现倒计时及时间对象
Nov 15 #Javascript
Bootstrap简单表单显示学习笔记
Nov 15 #Javascript
JS实现根据用户输入分钟进行倒计时功能
Nov 14 #Javascript
js调用屏幕宽度的简单方法
Nov 14 #Javascript
jquery心形点赞关注效果的简单实现
Nov 14 #Javascript
You might like
php实现ping
2006/10/09 PHP
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
PHP之短标签开启设置
2013/06/17 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
TopList标签和JavaScript结合两例
2007/08/12 Javascript
JavaScript自定义事件介绍
2013/08/29 Javascript
JavaScript拆分字符串时产生空字符的解决方案
2014/09/26 Javascript
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
Bootstrap精简教程中秋大放送
2016/09/15 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
JavaScript纯色二维码变成彩色二维码
2020/07/23 Javascript
Angular 4依赖注入学习教程之简介(一)
2017/06/04 Javascript
VUE重点问题总结
2018/03/19 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
vue css 引入asstes中的图片无法显示的四种解决方法
2020/03/16 Javascript
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
flask框架实现连接sqlite3数据库的方法分析
2018/07/16 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
Python初学者需要注意的事项小结(python2与python3)
2018/09/26 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
KIKO MILANO荷兰网上商店:意大利专业化妆品品牌
2017/05/12 全球购物
出差报告格式模板
2014/11/06 职场文书
2014最新自愿离婚协议书范本
2014/11/19 职场文书
2014年个人总结范文
2015/03/09 职场文书
审美与表现自我评价
2015/03/09 职场文书
汽车销售员岗位职责
2015/04/11 职场文书
教师培训简讯
2015/07/20 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers