鼠标滚轮编程

  以前没有注意到这个滚轮,看到这里有一篇说这个的:http://www.javascriptsearch.com/guides/Advanced/articles/JSMouseScrolling.html

  我把它转过来了。如果是在实际应用中,有的时候还是蛮有用的。主要是得到滚轮是向上滚还是向下滚。

  注释的代码

  

  function handle(delta) {

  if (delta < 0)

  …;

  else

  …;

  }

  /** 事件句柄

  */

  function wheel(event){

  var delta = 0;

  if (!event) /* For IE. */

  event = window.event;

  if (event.wheelDelta) { /* IE或者Opera. */

  delta = event.wheelDelta/120;

  /** 在Opera9中,事件处理不同于IE

  */

  if (window.opera)

  delta = -delta;

  } else if (event.detail) { /** 兼容Mozilla. */

  /** In Mozilla, sign of delta is different than in IE.

  * Also, delta is multiple of 3.

  */

  delta = -event.detail/3;

  }

  /** 如果 增量不等于0则触发

  * 主要功能为测试滚轮向上滚或者是向下

  */

  if (delta)

  handle(delta);

  }

  /** 初始化 */

  if (window.addEventListener)

  /** Mozilla的基于DOM的滚轮事件 **/

  window.addEventListener('DOMMouseScroll', wheel, false);

  /** IE/Opera. */

  window.onmousewheel = document.onmousewheel = wheel;

  在上面的代码中,handler函数里的代码就是你要写的,它有一个参数-delta,事实上,它只是代码鼠标此刻是向上滚或者是向下滚。如下所示,

鼠标滚轮编程

   [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]