周末,今天阳光明媚的,周围也都呈现万物复苏的景象。坐在家里写代码着实有些浪费这大好天气。可是后来想想,没人陪一个人在外瞎逛也倒无趣。哎,孤家寡人呀。
手握鼠标,这篇文章就是说的是javascript 鼠标滚轮事件。为了这篇文章,我还在首页的轮播图放了一张自己做的关于鼠标滚轮事件的图,没有美术功底,图虽然不好看,但为了更加清晰的描述和强调本文的内容,后来还是硬着头皮放了上来。
OK,话入正题。鼠标滚轮事件是我遇到在javascript事件里面最为恶劣的一个事件,因为它充满着各种不兼容,几乎每种浏览器都有一种属于自己的滚轮属性,而且属性的值还可能是相反的。无语中…… 不过话说这个事件还是蛮实用的,所以掌握它还是有必要的。下面主要从两个方面来讲述鼠标滚轮事件:
一、事件函数
滚轮事件函数因为浏览器的不同,所以有着不同的函数。
- IE(chrome)方式:mousewheel
- DOM(firefox)方式:DOMMouseScroll
<script> function addEvent(obj, sEvent, fn){ if(obj.attachEvent){ obj.attachEvent("on"+sEvent, fn); } else { obj.addEventListener(sEvent, fn, false); } }
var oDemo=document.getElementById("demo");
addEvent(oDemo,"mousewheel",mouse); addEvent(oDemo,"DOMMouseScroll",mouse);
function mouse( ){ console.log("滚动!"); } </script>
<div id="demo"></div>
|
二、滚轮方向
鼠标滚动方向主要有向上和向下,现在来介绍浏览器的滚轮方向的属性:
注意需要绑定事件才能使用:
<script> function addEvent(obj, sEvent, fn){ if(obj.attachEvent){ obj.attachEvent("on"+sEvent, fn); } else { obj.addEventListener(sEvent, fn, false); } }
var oDemo=document.getElementById("demo");
addEvent(oDemo,"mousewheel",mouse); addEvent(oDemo,"DOMMouseScroll",mouse);
function mouse(ev){ var oEvent=ev||event;
var bDown=true;
bDown=oEvent.wheelDelta?oEvent.wheelDelta<0:oEvent.detail>0; var action=bDown?"向下":"向上";
alert(action);
if(oEvent.preventDefault){ oEvent.preventDefault(); } else { return false; } } </script>
<div id="demo"></div>
|
到此为止,鼠标滚轮事件就全部讲完了,下篇文章将要说到它的一个很酷的应用。现在出门咯。。。听说上元节有很多美丽的邂逅哦,嘿嘿!