html如何设置滑轮效果,HTML中鼠标滚轮事件onmousewheel处理

滚轮事件是不同浏览器会有一点点区别,一个像Firefox使用DOMMouseScroll ,ff也可以使用addEventListener方法绑定DomMouseScroll事件,其他的浏览器滚轮事件使用mousewheel,下面我来给大家具体介绍。

Firefox使用DOMMouseScroll,其他的浏览器使用mousewheel。滚动事件触发时Firefox使用detail属性捕捉滚轮信息,其他的浏览器使用wheelDelta。不知道为何在该问题上其他厂商和微软的如此一致。Firefox可以使用addEventListener方法绑定DomMouseScroll事件。

elem.addEventListener(‘DOMMouseScroll’, func, false);IE和其他的主流浏览器可以使用传统的事件绑定模型。但不要使用IE专有的attachEvent方法,其他主流浏览器并不识别微软的这个方法。

?Firefox 鼠标滚轮向上滚动是-3,向下滚动是3

?IE 鼠标滚轮向上滚动是120,向下滚动是-120

?Safari 鼠标滚轮向上滚动是360,向下滚动是-360

?Opera 鼠标滚轮向上滚动是120,向下滚动是-120

?Chrome 鼠标滚轮向上滚动是120,向下滚动是-120

有人在Safari下做了一些测试:”只是滚动一圈的话,值为+-0.1,如果滚动地稍微快点的话(多滚动几圈),这个值也会变大。 这是因为Mac OS下有鼠标滚轮加速功能。滚动一次,浏览器滚动1像素,滚动3次,浏览器却滚动30像素”。同时他也对Camino(基于Gecko的内核引擎)进行研究:“与Safari相似(+- 0.3 to +-Infinity),虽然使用了与firefox相同的内核引擎,但结果这个delta值却只在+-2.666666里浮动,无论滚动速度如何

其中经我测试:

IE/Opera属于同一类型,使用attachEvent即可添加滚轮事件。

/*IE注册事件*/

if(document.attachEvent){

document.attachEvent('onmousewheel',scrollFunc);

}

Firefox使用addEventListener添加滚轮事件

/*Firefox注册事件*/

if(document.addEventListener){

document.addEventListener('DOMMouseScroll',scrollFunc,false);

}

Safari与Chrome属于同一类型,可使用HTML DOM方式添加事件

window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome

其中除Firefox外其余均可使用HTML DOM方式添加事件,因此添加事件使用以下方式

/*注册事件*/

if(document.addEventListener){

document.addEventListener('DOMMouseScroll',scrollFunc,false);

}//W3C

window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome

detail与wheelDelta

判断滚轮向上或向下在浏览器中也要考虑兼容性,现在五大浏览器(IE、Opera、 Safari、Firefox、Chrome)中Firefox 使用detail,其余四类使用wheelDelta;两者只在取值上不一致,代表含义一致,detail与wheelDelta只各取两个 值,detail只取±3,wheelDelta只取±120,其中正数表示为向上,负数表示向下。

滚动值:(IE/Opera)

滚动值:(Firefox)

var oTxt = document.getElementById("txt");

var scrollFunc = function (e) {

var direct = 0;

ee = e || window.event;

var t1 = document.getElementById("wheelDelta");

var t2 = document.getElementById("detail");

if (e.wheelDelta) {//IE/Opera/Chrome

t1.value = e.wheelDelta;

} else if (e.detail) {//Firefox

t2.value = e.detail;

}

ScrollText(direct);

}

/*注册事件*/

if (document.addEventListener) {

document.addEventListener('DOMMouseScroll', scrollFunc, false);

}//W3C

window.onmousewheel = document.onmousewheel = scrollFunc; //IE/Opera/Chrome/Safari

转载自:http://www.2cto.com/kf/201502/376772.html

HTML中鼠标滚轮事件onmousewheel

IE/Opera属于同一类型,使用attachEvent即可添加滚轮事件. /*IE注册事件*/ if(document.attachEvent){ document.attachEvent('onm ...

js中鼠标滚轮事件详解

js中鼠标滚轮事件详解   (以下内容部分内容参考了http://adomas.org/javascript-mouse-wheel/ ) 之前js 仿Photoshop鼠标滚轮控制输入框取值中已使用 ...

鼠标滚轮事件 onmousewheel

1.fiefox:DOMMouseScroll               detail      detail*(-40)=wheelDelta 除了firefox之外:mousewheel     ...

JavaScript中的鼠标滚轮事件详解

JavaScript中的鼠标滚轮事件详解/*Firefox注册事件*/ ~~~Firefox: addEventListener('DOMMouseScroll', handler, false)if ...

Winform 中panel的mousewheel鼠标滚轮事件触发

如果将窗体或容器控件(如Panel控件)的AutoScroll属性设置为True时,那么当窗体或Panel容不下其中的子控件时就会出现 滚动条,通过移动滚动条可以上下显示出窗体或Panel中的全部内容 ...

js中的鼠标滚轮事件

## 事件对象 event 1 event事件对象,表示用来获取事件的详细信息,比如得到鼠标的横坐标:事件对象.clientX(clientX是可视区坐标) window.onclick = func ...

鼠标滚轮事件MouseWheel

其实在大多数浏览器(IE6, IE7, IE8, Opera 10+, Safari 5+,Chrome)中,都提供了 "mousewheel" 事件.但杯具的是 Firefox ...

js整频滚动展示效果(函数节流鼠标滚轮事件)

ttp://schemas.android.com/apk/res/android& ...

sql按照in中的顺序进行排序 mysql

经测试以下三种情况,都可以. SELECT a.id,a.name as goods_name,a.logoimg,b.name as store_name FROM sh_goods a LEFT ...

haxe 嵌入swf 读取里面的内容

首先安装 swf 库,运行命令: 命令提示符: haxelib install swf 在project.xml 加上

1.Linux下libevent和memcached安装

 1 下载libevent-2.0.22-stable.tar.gz,下载地址是:http://libevent.org/ 2 下载memcached,下载地址是:http://memcached ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/454541.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在OOW2009上寻宝撞大运续(床上篇)

历时5天的Oracle Open World 2009终于,终于结束了。今天最后的节目是去听一场金融分析师的会议,“只”开了不到6个钟。去的时候是毛毛雨,回来的时候终于看到了一缕阳光。说夕阳无限好不大合适。用Larry Ellison的说法是“太阳落下的地方也是太…

skynet记录6:定时器

稍后填坑 kernel中,每一次时钟中断会trap到kernel code,这个时间间隔称之为jiffies,每秒钟发生的次数为HZ 如果是4核,分配到每个核就是HZ/4 cat /boot/config-uname -r | grep ^CONFIG_HZ 输出: CONFIG_HZ250 cat /pro…

html图片平铺不重复整个页面,JSP网页背景图片怎样不平铺,不重复出现啊...

2016-07-10 13:12最佳答案1,Q:怎样把别人网页上的背景音乐保存下来?A:浏览该网页后,在你的 Windows\Temporary Internet Files 文件夹下可以找到该背景音乐的缓存文件,拷贝出来即可使用。如果还是找不见该文件,可以打开网页的源文件,找到音乐…

特征图注意力_从数据结构到算法:图网络方法初探

作者 | 朱梓豪来源 | 机器之心原文 | 从数据结构到算法:图网络方法初探如果说 2019 年机器学习领域什么方向最火,那么必然有图神经网络的一席之地。其实早在很多年前,图神经网络就以图嵌入、图表示学习、网络嵌入等别名呈现出来,其…

FFMPEG 源码分析

FFMPEG基本概念: ffmpeg是一个开源的编解码框架,它提供了一个音视频录制,解码和编码库。FFMPEG是在linux下开发的,但也有windows下的编译版本。 ffmpeg项目由以下几部分组成: ffmpeg 视频文件转换命令行工具,也支持经过实时电视…

面试之 Redis汇总

简介 Redis 持久化机制 RDB(Redis DataBase) AOF(Append-only file) Redis 4.0 对于持久化机制的优化 补充:AOF 重写 二者的区别 二者优缺点 Memcache与Redis的区别都有哪些? 缓存雪崩、缓存穿透、…

Oracle 10g 问题集锦

监听服务中Oracle数据库之中使用最主要的一个服务,但是这个服务经常会出现错误,包括以后在工作之中此服务也会出现错误,故给出两种常见错误的解决方案(故障1、故障2) 故障1: 注册表使用了优化软件(如&#…

iOS linker command failed with exit code 1 (use -v to see invocation)多种解决方案汇总

有时可能会遇到这种错误,关键是这种错误,有时只有这一句话,也不会给更多错误信息。 网上找了一些,总结了如下:(PS:以下是按照解决简易程度排序,不代表出现概率) 1、bitco…

计算机二级python选择题题库_2018年计算机二级python题库精编(1)

1正则中的^符号,用在一对中括号中则表示要匹配() A.字符串的开始 B.除中括号内的其它字符 C.字符串的结束 D.仅中括号内含有的字符 2静态成员变量称为类变量,非静态成员变量称为实例变量,下列关于一个类的静态成员的描述中,不正确…

非常好用!世界上最快最好的视频压缩转换工具(精品)

测试了20多款 各种视频压缩 截取软件 真的是这款最快 快好用 效果也好!!! 最快的视频转换压缩工具。 WisMencoder 能够把您的电脑上的所有视频格式,包括avi,mpg,rmvb,wmv,mp4,mov,dat等格式以最快的速度和最高的质量转换为…

面试之 Mysql 汇总

事务相关 什么是事务? 事务:是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务。事务的ACID属性: (1)原子性(Atomicity):   事务是一…

Exchange Server 2003 部署手册

1. 环境需求服务器: 域控制器1台; Exchange Server服务器1台。 IP和机器名配置: 域控制器:机器名:dc IP: 10.10.10.200 掩码:255.255.255.0 网关:10.10.10.254 DNS:127.0.0.1 Exchange&#xff…

app中 html5 search 事件,事件 - Cordova中文网

事件Cordova给我们提供了很多的事件,可以在应用程序中使用。应用程序代码中可以添加这些事件的监听。例如:HTML文件Device Ready ExampleJS文件// example.js文件// 等待设备API库加载好//function onLoad() {document.addEventListener("deviceready", o…

python标准库os中的方法_python中OS常用方法

下面列出了一些在os模块中比较有用的部分。它们中的大多数都简单明了。 os.sep可以取代操作系统特定的路径分隔符。windows下为 “\\” os.name字符串指示你正在使用的平台。比如对于Windows,它是nt,而对于Linux/Unix用户,它是posix。 os.get…

ffmpeg 过程分析

简介 FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等…

面试之 Python 基础

1:为什么学习Python 家里有在这个IT圈子里面,也想让我接触这个圈子,然后给我建议学的Python,然后自己通过百度和向有学过Python的同学了解了Python,Python这门语言,入门比较简单,它简单易学&…

学习笔记(11月08日)--异常

四周三次课(11月8日)异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。一般情况下,在Python无法正常处理程序时就会发生一个异常。异常是Python对象,表示一个错误。当Python脚本发生异…

html浏览器的区别是什么意思,不同浏览器对css的识别有区别吗?

不同浏览器对css的识别是有区别,因此针对不同的浏览器去写不同的CSS。下面本篇文章给大家介绍一些常用CSS书写技巧(不同浏览器之间的差异)。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。不同的浏览器,比如Int…

关于python

你是如何自学 Python 的? https://www.zhihu.com/question/20702054 Python 的练手项目有哪些值得推荐?https://www.zhihu.com/question/29372574 Python编码规范 -- Python Style Guide http://www.cnblogs.com/lxw0109/p/Python-Style-Guide.htm…

python读写文件的文本模式_Python中文件的读写、写读和追加写读三种模式的特点...

本文主要讨论一下文件的三种可读可写模式的特点及互相之间的区别,以及能否实现修改文件的操作 由于前文已经讨论过编码的事情了,所以这里不再研究编码,所有打开操作默认都是utf-8编码(Linux系统下) 首先我们看r(读写&a…