Maison >interface Web >js tutoriel >鼠标滚轮编程_javascript技巧

鼠标滚轮编程_javascript技巧

WBOY
WBOYoriginal
2016-05-16 19:21:381043parcourir

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

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

注释的代码


function handle(delta) {
 if (delta  …;
 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,事实上,它只是代码鼠标此刻是向上滚或者是向下滚。如下所示,
uploads/200608/02_013450_deltas.gif

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn