鼠標(biāo)滾輪事件是網(wǎng)頁中常用的交互方式之一,JQuery提供了onmousewheel方法來監(jiān)聽鼠標(biāo)滾輪事件。
$(element).on("mousewheel", function(event){ //event.deltaY表示鼠標(biāo)滾輪滾動(dòng)方向,1表示向下滾動(dòng),-1表示向上滾動(dòng) var deltaY = event.deltaY; //執(zhí)行相應(yīng)的操作 });
在上述代碼中,第一個(gè)參數(shù)為需要監(jiān)聽事件的元素,第二個(gè)參數(shù)為事件處理函數(shù)。使用event.deltaY可以獲取鼠標(biāo)滾輪的滾動(dòng)方向。接著我們可以根據(jù)滾動(dòng)方向執(zhí)行相應(yīng)的操作。
需要注意的是,onmousewheel方法在不同瀏覽器中的表現(xiàn)可能會(huì)有所不同。在火狐瀏覽器中,鼠標(biāo)滾輪事件被稱為DOMMouseScroll。若要兼容火狐瀏覽器,代碼可做如下修改:
$(element).on("mousewheel DOMMouseScroll", function(event){ //event.originalEvent.detail表示火狐瀏覽器中鼠標(biāo)滾輪滾動(dòng)方向,正負(fù)值與deltaY相反 var deltaY = event.originalEvent.wheelDelta || -event.originalEvent.detail; //執(zhí)行相應(yīng)的操作 });
通過添加DOMMouseScroll事件,代碼可兼容火狐瀏覽器。同時(shí),在獲取滾動(dòng)方向時(shí),需要對(duì)event.originalEvent.detail取反來得到正確的值。