解析javascript中鼠標(biāo)滾輪事件
所有的現(xiàn)代瀏覽器都支持鼠標(biāo)滾輪,并且在用戶(hù)滾動(dòng)滾輪時(shí)觸發(fā)時(shí)間。瀏覽器通常使用鼠標(biāo)滾輪滾動(dòng)或縮放文檔,但可以通過(guò)取消mousewheel事件來(lái)阻止這些默認(rèn)操作。有一些互用性問(wèn)題影響滾輪事件,但是編寫(xiě)跨平臺(tái)的代碼依舊可以行。除了Firefox之外的所有瀏覽器都支持“mousewheel”事件,但Firefox使用“DOMMouseScroll”,而3級(jí)DOM事件規(guī)范草案建議使用事件名“wheel”替代“mousewheel”。
document.body.onmousewheel = function(event){ event = event || window.event; console.dir(event); }
Firefox不支持mousewheel
document.body.addEventListener("DOMMouseScroll",function(event){ console.dir(event); })
以下滾輪向下滾動(dòng)是chrome和IE9下面控制臺(tái)輸出
以下是滾輪向下滾動(dòng)Firefox下面控制臺(tái)輸出
從上面輸出得出,可以使用非標(biāo)準(zhǔn)的DOMMouseScroll事件取代mousewheel,使用事件對(duì)象的detail屬性取代wheelDetal。但是,detail屬性值的縮放比率和正負(fù)符號(hào)不同于wheelDetal,detail值乘以-40和wheelDetal值相等。
在除了FireFox之外的瀏覽器下,滾動(dòng)的上下滾動(dòng)與否是下面這個(gè)wheelDelta有關(guān)。
根據(jù)測(cè)試,在我的win7系統(tǒng)下,無(wú)論IE7, IE10, Opera12,或者是safari5.1,每次往下滾動(dòng)event.wheelDelta
值都是-120
.
對(duì)于FireFox瀏覽器(Opera瀏覽器也有),判斷鼠標(biāo)滾動(dòng)方向的屬性為event.detail
, 向下滾動(dòng)值為3
.
需要注意的是,F(xiàn)ireFox瀏覽器的方向判斷的數(shù)值的正負(fù)與其他瀏覽器是相反的。FireFox瀏覽器向下滾動(dòng)是正值,而其他瀏覽器是負(fù)值。
var isFirefox = (navigator.userAgent.indexOf("Firefox") !== -1); if(isFirefox){ element.addEventListener("DOMMouseScroll",wheelHandler,false); } element.onmousewheel = wheelHandler; //element.onwheel = wheelHandler; //DOM3級(jí)wheel事件,經(jīng)過(guò)測(cè)試IE9還是不支持,但是谷歌和火狐都支持,在谷歌內(nèi)有wheelDelta在火狐里面有detail function wheelHandler(event){ event = event || window.event; var delta = event.wheelDelta || detail*-30; }
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
- js實(shí)現(xiàn)的鼠標(biāo)滾輪滾動(dòng)切換頁(yè)面效果(類(lèi)似360默認(rèn)頁(yè)面滾動(dòng)切換效果)
- JavaScript事件類(lèi)型中焦點(diǎn)、鼠標(biāo)和滾輪事件詳解
- JavaScript焦點(diǎn)事件、鼠標(biāo)事件和滾輪事件使用詳解
- javascript實(shí)現(xiàn)禁止鼠標(biāo)滾輪事件
- js實(shí)現(xiàn)鼠標(biāo)滾輪控制圖片縮放效果的方法
- javascript監(jiān)聽(tīng)鼠標(biāo)滾輪事件淺析
- js捕獲鼠標(biāo)滾輪事件代碼
- JS滾輪事件onmousewheel使用介紹
- 淺談Javascript鼠標(biāo)和滾輪事件
- js 事件對(duì)象 鼠標(biāo)滾輪效果演示說(shuō)明
- JavaScript 滾輪事件使用說(shuō)明
- js中鼠標(biāo)滾輪事件詳解(firefox多瀏覽器)
- javascript 鼠標(biāo)滾輪事件
- javascript 兼容鼠標(biāo)滾輪事件
- 兩種js監(jiān)聽(tīng)滾輪事件的實(shí)現(xiàn)方法
相關(guān)文章
微信小程序?qū)崿F(xiàn)隨機(jī)驗(yàn)證碼功能
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)隨機(jī)驗(yàn)證碼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12在Web關(guān)閉頁(yè)面時(shí)發(fā)送Ajax請(qǐng)求的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于如何在Web關(guān)閉頁(yè)面時(shí)發(fā)送Ajax請(qǐng)求的實(shí)現(xiàn)方法,文中通過(guò)示例代碼以及圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03JS代碼實(shí)現(xiàn)table數(shù)據(jù)分頁(yè)效果
這篇文章主要介紹了JS代碼實(shí)現(xiàn)table數(shù)據(jù)分頁(yè)效果的相關(guān)資料,非常不錯(cuò),代碼簡(jiǎn)答易懂,非常實(shí)用,需要的朋友可以參考下2016-05-05微信小程序以7天為周期連續(xù)簽到7天功能效果的示例代碼
這篇文章主要介紹了微信小程序以7天為周期連續(xù)簽到7天功能效果的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08javascript ie6兼容position:fixed實(shí)現(xiàn)思路
positon:fixed 讓HTML元素脫離文檔流固定在瀏覽器的某個(gè)位置,由于網(wǎng)頁(yè)中類(lèi)似這樣的元素很多,所以本文的出現(xiàn)是很有必要的了,接下為大家介紹下javascript如何實(shí)現(xiàn)ie6下的position:fixed2013-04-04