I'm new to JavaScript and managed to make this wheel event but it keeps triggering which will get me on a different element and scroll past the next one since I'm using nextElementSibling
.
I've tried throttling it but haven't been successful so far as I'm not good enough at JS yet and want to learn more.
var scrollableElement = document.querySelector('body');
scrollableElement.addEventListener('wheel', findScrollDirectionOtherBrowsers);
function findScrollDirectionOtherBrowsers(event) {
var delta;
var aktiv = document.querySelector('.swap');
if (event.wheelDelta) {
delta = event.wheelDelta;
} else {
delta = -1 * event.deltaY;
}
if (delta < 0) {
aktiv.nextElementSibling.classList.toggle('swap')
aktiv.classList.toggle('swap')
} else if (delta > 0) {
aktiv.previousElementSibling.classList.toggle('swap')
aktiv.classList.toggle('swap')
}
}
So the result should toggle .swap as soon as the function was triggered at least 2s ago or triggered 3-4 times. That is what I expect but maybe you might have even a better solution for me? It would be awesome! Thanks a lot for Your help! :)