你我都知道在HTML5網頁中添加鼠標滾輪事件能夠更好的讓用戶與網頁進行交互操作。而在HTML5中,鼠標滾輪並不僅僅就只能上下滑動網頁,實際上你還可以依靠這個完成更多的功能,比如視野平面的放大與縮小。
看看實際演示效果
1
<
img
id
=
"myimage"
src
=
"myimage.jpg"
alt
=
"my image"
/>
現在來添加鼠標滾輪事件處理代碼
1
var
myimage = document.getElementById(
"myimage"
);
2
if
(myimage.addEventListener) {
3
// IE9, Chrome, Safari, Opera
4
myimage.addEventListener(
"mousewheel"
, MouseWheelHandler,
false
);
5
// Firefox
6
myimage.addEventListener(
"DOMMouseScroll"
, MouseWheelHandler,
false
);
7
}
8
// IE 6/7/8
9
else
myimage.attachEvent(
"onmousewheel"
, MouseWheelHandler);
為了讓不同浏覽器都能支持的處理做法
在下面這個案例中,我們將對Firefox的detail值取反然後返回1或者-1的其中一個
1
function
MouseWheelHandler(e) {
2
// cross-browser wheel delta
3
var
e = window.event || e;
// old IE support
4
var
delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail)));
1
myimage.style.width = Math.max(50, Math.min(800, myimage.width + (30 * delta))) +
"px"
;
2
return
false
;
3
}
忘了說,上面的代碼在任何浏覽器都是運行正常的,包括IE6,7,8。但是Safari用戶就沒法看到什麼實際東西了:(