Created
June 18, 2021 18:30
-
-
Save Otto-Vector/80b037d84477d961b8fef52a679c6de6 to your computer and use it in GitHub Desktop.
onMouseWheel
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//отслеживание прокрутки | |
function wheelListener (elem, func) { | |
if (elem.addEventListener) { | |
if ('onwheel' in document) { | |
// IE9+, FF17+ | |
elem.addEventListener("wheel", func); | |
} else if ('onmousewheel' in document) { | |
// устаревший вариант события | |
elem.addEventListener("mousewheel", func); | |
} else { | |
// Firefox < 17 | |
elem.addEventListener("MozMousePixelScroll", func); | |
} | |
} else { // IE8- | |
elem.attachEvent("onmousewheel", func); | |
} | |
} | |
// Это решение предусматривает поддержку IE8- | |
function onWheel(e) { | |
e = e || window.event; | |
// deltaY, detail содержат пиксели | |
// wheelDelta не дает возможность узнать количество пикселей | |
// onwheel || MozMousePixelScroll || onmousewheel | |
let delta = e.deltaY || e.detail || e.wheelDelta; | |
//применяем непосредтвенно ту функцию, которую нам надо | |
self_direction = (delta < 0) ? 'up' : 'down' | |
changeSlide( self_direction ) | |
e.preventDefault ? e.preventDefault() : (e.returnValue = false); | |
} | |
//применяем | |
wheelListener(DOMElement, onWheel) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment