DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> js滾輪事件兼容性問題需要注意哪些
js滾輪事件兼容性問題需要注意哪些
編輯:關於JavaScript     

本文實例為大家解析了js滾輪事件需要注意的兼容性問題,供大家參考,具體內容如下

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
  #div {
   width: 300px;
   height: 300px;
   background: red;
  }
 </style>
 <script>
  function addEvent(obj,sEv,fn){
   if(obj.addEventListener){
    return obj.addEventListener(sEv,fn,false);
   }else{
    return obj.attachEvent('on' + sEv,fn);
   }
  }

  function addWheel(obj,fn){
   function wheel(ev){
    var oEvent = ev || event;
    var bDown = true;
    bDown = oEvent.wheelDelta?oEvent.wheelDelta > 0:oEvent.detail < 0;
    fn && fn(bDown);
    oEvent.preventDefault && oEvent.preventDefault();
    return false;
   }
------------------------------------------------------------------
return false阻止浏覽器默認行為,遇到綁定添加的事件的時候就失效了;
所有要用oEvent.preventDefault();在使用此方法前要做判斷;
------------------------------------------------------------------
   if(window.navigator.userAgent.indexOf('Firefox') !=-1){
    obj.addEventListener('DOMMouseScroll',wheel,false);注:所有以DOM開頭的只能通過事件綁定的形式添加此事件;
   }else{
    addEvent(obj,'mousewheel',wheel);
   }
  }
-------------------------------------------------------------------------------------------------
 obj.onmousewheel:滾動鼠標滾輪的時候觸發;兼容IE系列和chrome;
 DOMMouseScroll:只能通過事件綁定的形式添加此事件;只兼容FF;
 兼容性問題解決方案:判斷浏覽器;
 oEvent.wheelDelta:不兼容FF;火狐下報undefined;
  chrome&&IE:
   下:-120;//以具體彈出數字為准
   上:120;

 oEvent.detail:
  FF:
   下:3;//以具體彈出數字為准
---------------------------------------------------------------------------------------------------
  window.onload = function () {
   var oDiv = document.getElementById('div');
   addWheel(oDiv,function(bDown){
    oDiv.onmousewheel = null;
    if(bDown){
     oDiv.style.height = oDiv.offsetHeight - 10 + 'px';
    }else{
     oDiv.style.height = oDiv.offsetHeight + 10 + 'px';
    }
   });
  }
 </script>
</head>
<body>
<div id="div"></div>
</body>
</html>

滾輪事件的兼容性問題比較多,所以大家在實現這個效果的時候也要隨時測試兼容性的問題。

暫時整理的大概就這些,還有很多不足的地方,大家多提寶貴意見!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved