你我都知道在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用戶就沒法看到什麼實際東西了:(