鼠标滚轮事件的监听
原理:判断鼠标滚轮的滚动获取一个值,根据这个值判断滚动的方向。
分析:
首先,判断滚轮方向。
Firefox:detail,取值为-/+3(负值向上,正值向下);
其他:wheelDelta,取值为+/-120(正值向上,负值向下)。
兼容所有浏览器的的封装:
function scrollEvent(ev){
ev = ev || window.event;
var data = '';
if(ev.wheelDelta){
data = ev.wheelDelta;
}else{
data = -ev.detail*40;
};
alert(data)
}
函数返回+/-120(正值向上,负值向下)。
然后向对象添加事件。
Firefox:事件名为DOMMouseScroll;
其他:事件名为mousewheel。
function addEvent(element,type,handler){
if(element.addEventListener){
element.addEventListner(type,handler,false);
}else if(element.attachEvent){
element.attachEvent('on'+type,handler);
}else{
element['on'+type] = handler;
}
};
addEvent(document,'mousewheel',scrollEvent);
addEvent(document,'DOMMouseScroll',scrollEvent);