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 相关文章推荐
javascript获得服务器端控件的ID的实现代码
Dec 28 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
May 14 Javascript
jquery退出each循环的写法
Feb 26 Javascript
js 获取元素在页面上的偏移量的方法汇总
Apr 13 Javascript
JavaScript中继承用法实例分析
May 16 Javascript
jquery实现的V字形显示效果代码
Oct 27 Javascript
Vue.js 和 MVVM 的注意事项
Nov 07 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
Mar 08 Javascript
微信小程序中的onLoad详解及简单实例
Apr 05 Javascript
JavaScript实现移动端轮播效果
Jun 06 Javascript
JavaScript设计模式之观察者模式实例详解
Jan 16 Javascript
vue中封装axios并实现api接口的统一管理
Dec 25 Vue.js
禁用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 将图片按创建时间进行分类存储的实现代码
2010/01/05 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
JavaScript中的null和undefined区别介绍
2015/01/01 Javascript
jQuery实现在列表的首行添加数据
2015/05/19 Javascript
JS留言功能的简单实现案例(推荐)
2016/06/23 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
Bootstrap导航条学习使用(一)
2017/02/08 Javascript
微信小程序 JS动态修改样式的实现代码
2017/02/10 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
2018/09/12 Javascript
vue配置nprogress实现页面顶部进度条
2019/09/21 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
2020/04/08 Javascript
JS+css3实现幻灯片轮播图
2020/08/14 Javascript
jQuery实现手风琴特效
2021/01/11 jQuery
python实现连接mongodb的方法
2015/05/08 Python
python爬虫_微信公众号推送信息爬取的实例
2017/10/23 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
2018/05/30 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
python打包exe开机自动启动的实例(windows)
2019/06/28 Python
Django 允许局域网中的机器访问你的主机操作
2020/05/13 Python
浅析Python __name__ 是什么
2020/07/07 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
CSS教程:CSS3圆角属性
2009/04/02 HTML / CSS
CSS实现的一闪而过的图片闪光效果
2014/04/23 HTML / CSS
分享29个基于Bootstrap的HTML5响应式网页设计模板
2015/11/19 HTML / CSS
雅诗兰黛美国官网:Estee Lauder美国
2016/07/21 全球购物
Madewell美德威尔美国官网:美国休闲服饰品牌
2016/11/25 全球购物
2014年三八妇女节活动总结
2014/03/01 职场文书
美德少年事迹材料500字
2014/08/19 职场文书
财务科长个人对照检查材料
2014/09/18 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
小喇叭开始广播了! 四十多年前珍贵老照片
2022/05/09 无线电