前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js监听滚轮事件

js监听滚轮事件

作者头像
码客说
发布2019-10-22 14:05:04
9.3K0
发布2019-10-22 14:05:04
举报
文章被收录于专栏:码客码客

验证扩展

chrome(ie)与firefox对滚轮事件的监听方式是不一样的,并且返回的数值正负也是正好相反的

代码

代码语言:javascript
复制
/*********************** 
 * 函数:注册某元素的滚轮事件 
 * 作者:psvmc
 * 参数:事件源DOM Id , 回调方法(data) 
 * data: 1:向下  -1:向上 
 *************************/
function scrollEvent(domId, callbackFunc) {
	var dom = document.getElementById(domId);
	var scrollFunc = function(e) {
		var direct = 0;
		e = e || window.event;

		if (e.wheelDelta) {//IE/Opera/Chrome 
			if (e.wheelDelta > 0) {
				direct = -1;
			} else {
				direct = 1;
			}
		} else if (e.detail) {//Firefox 
			if (e.detail > 0) {
				direct = 1;
			} else {
				direct = -1;
			}
		}
		if (callbackFunc) {
			callbackFunc(direct);
		}
	}
	/*注册事件*/
	if (dom.addEventListener) {
		dom.addEventListener('DOMMouseScroll', scrollFunc, false);
	}
	dom.onmousewheel = scrollFunc;//IE/Opera/Chrome
}

调用方式

例如页面上

代码语言:javascript
复制
<div style="width:600px;height:300px" id="target">
	<label for="wheelDelta">滚动值:</label>
	<input type="text" id="wheelDelta" />
</div>

使用方式

代码语言:javascript
复制
<script type="text/javascript">
	scrollEvent("target", function(data) {
		if (data == 1) {
			document.getElementById("wheelDelta").value = "向下";
		} else {
			document.getElementById("wheelDelta").value = "向上";
		}
	});
</script>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 验证扩展
    • 代码
      • 调用方式
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档