javascript 鼠标滚轮事件


今天在网上找来了响应滚轮的函数并改写成下面的类

复制代码 代码如下:

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 实现滚动条的功能



相关阅读:
CSS+Div网页布局中的结构与表现
LINUX FSCK数据出错灾难应急方案
详尽介绍VISTA的各个版本
页面内文字的滚动代码详解
css中border:none;与border:0;的区别说明
jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明
vb.net入门——Windows窗体的继承
解决ASP.NET的进程帐户没有访问 IIS的权限
php教程:php设计模式介绍之观测模式
国人开发的比较优秀的js框架:como js
PHP 反射机制实现动态代理的代码
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
msxml3.dll 错误 80070005 拒绝访问
定义标题的最好方法
快速导航

Copyright © 2016 phpStudy |