Skip to content

Instantly share code, notes, and snippets.

@Otto-Vector
Created June 18, 2021 18:30
Show Gist options
  • Save Otto-Vector/80b037d84477d961b8fef52a679c6de6 to your computer and use it in GitHub Desktop.
Save Otto-Vector/80b037d84477d961b8fef52a679c6de6 to your computer and use it in GitHub Desktop.
onMouseWheel
//отслеживание прокрутки
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