个人写的一个滚轮的封装,望指点

//滚轮事件

function MouseWheelHandle(obj,handle){

var info = navigator.userAgent;

 

var down = null;  //用来记录滚轮的上下,down = true 表示向下

if (info.indexOf("Firefox") != -1) {

obj.addEventListener("DOMMouseScroll",function(event,ev){

var ev = event || window.event;

if (ev.detail > 0) {

//不做具体的事情

down = true;

}else{

down = false;

}

//调用外部传递的事件处理程序

// handle(down,ev);

//apply: 每一个函数都有一个自带的方法叫 apply ,这个方法可以切换函数的运行环境,如果函数需要传递参数,以数组的形式传递

handle.apply(obj,[down,ev]);

},false);

}else{

obj.onmousewheel = function(event){

var ev = event || window.event;

if (ev.wheelDelta > 0) {

down = false;

}else{

down = true;

}

// handle(down,ev);

        //call: 每一个函数都有一个 call 方法,它的功能和 apply 一样,都可以实现切换一个函数的调用者,

        //call 和 apply 唯一的区别在于: 函数有参数的时候,传递方式不一样, call 依次传递参数,参数用逗号隔开即可

        handle.call(obj,down,ev);

}

}

 

 

 

 

 

 

 

 

}

posted @ 2016-11-02 20:28  mywills  阅读(87)  评论(0编辑  收藏  举报