Если я правильно понимаю, вы хотите видеть только console.log()
ПРОШЛОЕ 20 пикселей? Если это так,
Вы можете «рассчитать» прокручиваемые пиксели, проверив положение элемента по сравнению с максимальной высотой прокрутки и сравнив это!
Я увеличил размер в 20 пикселей и добавил 'else' console.log()
, поэтому поведение легче определить;)
jQuery(document).ready(function($) {
let lastScrollTop = 0;
$("#wrapper").scroll(function() {
let st = $(this).scrollTop();
var remainingPixels = $(this).prop('scrollHeight') - ($(this).scrollTop() + $(this).height());
if (st < lastScrollTop) {
if (remainingPixels > 100) {
console.log("Scroll up", remainingPixels);
} else {
console.log('Muted', remainingPixels);
}
}
lastScrollTop = st;
});
});
#wrapper {
height: 200px;
overflow-y: scroll;
}
#test {
background: green;
height: 1000px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="wrapper">
<div id="test"></div>
</div>