判断滚轮方向

火狐已经支持最新鼠标滚轮事件的标准,支持统一方法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{//向下滚动})

   }
}

posted @ 2020-06-11 17:00  陶智斌  阅读(518)  评论(0编辑  收藏  举报