Привет, я сделал простой пример в jsfiddle, изменив окно для документа, чтобы получить доступ к событию прокрутки.Посмотрите, кажется, покажите ваше console.log('it works')
JSFiddle зеркало с кодом ниже
const elementToListenForScroll = document.querySelector('.howitworks__mainheading');
const distanceToTop = elementToListenForScroll.getBoundingClientRect().top;
console.log(distanceToTop, 'distanceToTop');
function debounce(func, wait = 20, immediate = true) {
var timeout;
return function() {
var context = this,
args = arguments;
var later = function() {
timeout = null;
if (!immediate) func.apply(context, args);
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) func.apply(context, args);
};
}
function showPopup() {
console.log('deboundece', window.scrollY, distanceToTop);
const currentScrollPosition = window.scrollY;
if (currentScrollPosition > 100) {
console.log('hey it works');
document.removeEventListener('scroll', debounce);
}
}
console.log(document);
document.addEventListener('scroll', debounce(showPopup));
.howitworks__mainheading {
position: relative;
display: block;
top: 900px;
}
<div class="howitworks__mainheading">
Any other way
</div>