当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript 鼠标滚轮事件

Javascript
分时段切换CSS(JavaScript,ASP,PHP)
手把手教你用JS创建幻灯片特效
Ajax和CSS设计的表格实例
JS获得CSS中声明的特定样式中的某属性值
css和Ajax制作的表格
CSS初学:如何修改Zblog中的CSS
setAttribute方法实现网页两种样式表
JS和HTML分离:注册事件的方法进行封装
网页整理的Javascript的技巧代码
使用JavaScript数组上的经验之谈
AJAX结合CSS实现的网页Tab选项卡效果
JS教程:thickbox弹出框效果
IE和Firefox在JavaScript语法上不同的7个方面
WEB前端开发高性能优化:JavaScript的优化细节
基于jquery的上传插件Uploadify
7个在IE和Firefox中不同的JavaScript语法
JS函数:动态添加CSS样式表
在IE中使用JavaScript(一)
在IE中使用JavaScript(二)
JavaScript[对象.属性]集锦之四

Javascript 中的 javascript 鼠标滚轮事件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 346 ::
收藏到网摘: n/a

由于鼠标滚轮事件在 IE 和 FF 的实现有点不一样,所以有需要把这个写成一个统一可用的事件。 今天在网上找来了响应滚轮的函数并改写成下面的类
复制代码 代码如下:

function wheelEvent(obj, handle)
{
this.handle = handle;
// different events between Firefox and IE
window.addEventListener ? obj.addEventListener("DOMMouseScroll", this.wheel, false) : (obj.onmousewheel = this.wheel);
}
wheelEvent.prototype.wheel = function (event)
{
var ev = event || window.event;
var delta = ev.wheelDelta ? (ev.wheelDelta / 120) : (- ev.detail / 3); // Firefox using `wheelDelta` IE using `detail`
eval ('delta ? ' + parent.handle + '(delta) : null;');
}

在使用的时候需要定义一个执行函数,用以根据从上述类中获得的值进行操作,并为指定的网页元素添加事件。比如
复制代码 代码如下:

function handle(delta)
{
document.getElementById('text').scrollTop -= delta * 20;
}
new wheelEvent(document.getElementById('text'), 'handle');
在上例中第一个参数是添加滚轮事件的网页元素, id 为 text 的 div;第二个参数是执行函数的名字 handle。
其中 handle 函数必须有且只有一个参数delta,滚轮往上滚时 delta 大于 0,往下则小于 0。上例 handle 函数的作用是用滚轮对 div 实现滚动条的功能