前言:
在寫本篇的時候火狐已經支持最新鼠標滾輪事件的標准,支持統一方法onwhell方法,但是ie11沒有支持onwheel方法
1,在火狐下
a,如果綁定事件DOMMouseScroll,document.addEventListener("DOMMouseScroll",wheelHander,false);
則event.detail>0向下滾動,小於0向上滾動
b,如果綁定事件onwheel, document.onwheel=wheelHander;
event.deltaY>0向下滾動,小於0向上滾動
2,在ie11下
綁定document.onmousewheel事件
event.wheelDelta<0向下滾動
並且event.detail
*-40=event.wheelDelta;
所以綜合判斷滾動條是向上還是向下,由於火狐最新版本即支持DOMMouseScroll也支持onwheel,onwheel是未來將要統一支持的,所以在不能統一用onwheel用DOMMouseScroll,來消除事件重復計算
document.onmousewheel=wheelHander; //在ie下有效
if(isFirefox)document.addEventListener("DOMMouseScroll",wheelHander,false);
function wheelHander(event){
event = event || window.event;
if(event.wheelDelta){
if(event.wheelDelta>0){//向上滾動}else{//向下}
}else if (event.detail
){
if(event.detail
>0{//向下滾動
})
}
}