滑鼠中鍵滾動mousewheel事件例項程式碼

antzone發表於2017-04-01

本章節分享一段程式碼例項,它演示滾動滑鼠中鍵的相關事件。

這裡不會對它的實現過程做分析,因為在論壇的其他文章中已經有詳細的介紹。

具體可以參閱js實現的相容所有瀏覽器的滑鼠中鍵滾動事件一章節。

程式碼例項:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
#antzone{
  width:3000px; 
  height:500px; 
  background:#666;
}
</style>
<script> 
window.onload=function(){
  var dbody=document.getElementById('antzone');
  objAddEvent(document,'DOMMouseScroll', function(e){return mouse_scroll(e);})
  objAddEvent(document,'mousewheel', function(e){return mouse_scroll(e);})
  objAddEvent(dbody,'mousewheel', function(e){return mouse_scroll(e);})
  function mouse_scroll(e){
    var e=e || window.event;
    var delD=e.wheelDelta?e.wheelDelta: -e.detail*40;//判斷上下方向
    var move_s=delD>0?-50:50;
    document.documentElement.scrollLeft+=move_s; //非chrome瀏覽器用這個
    //chrome瀏覽器用這個
    if(document.documentElement.scrollLeft==0) document.body.scrollLeft+=move_s; 
    return false;
  }
  //這個是給物件增加監控方法的函式
  function objAddEvent(oEle, sEventName, fnHandler){
    if(oEle.attachEvent) oEle.attachEvent('on'+sEventName, fnHandler);
    else oEle.addEventListener(sEventName, fnHandler, false);
  }
}
</script>
</head>
<body>
<div id="antzone"></div>
</body>
</html>

相關文章