js中獲取鼠標滾動量/滾動了多少可以用onwheel事件來實現。
1 let axis = 0; // 如果需要記錄累積量,可以用一個變量來存儲下來 2 window.onwheel = function (ev) { 3 axis += ev.deltaY; 4 console.log(ev) 5 }
ev對象如下

其中的delta項就是各個方向上的滾動量,注意這個量是每一次連續滾動了多少,而不是累積量。如deltaY,鼠標向上滾動時為負值,反之正值。滾輪有橫向滾動鍵(一般貌似是滾輪左右撥動的按鍵觸發式)的則可以捕獲到deltaX的變化。
這樣就可以通過滾動量的變化來進行某些操作了,比方說圖片的放大縮小,translateZ()拉近拉遠,改變透視距離等。
注意:mousewheelEvent在部分瀏覽器上依舊可以用來處理同樣的操作,是一個棄用方案,不推薦使用,詳見MDN說明。
另外:wheelEvent和onscroll是不一樣的,scroll只針對於有滾動量(有滾動條)的對象。
onwheel / onmousewheel / onmousescroll
