Добрый день.
На странице есть блок homeIntro, который имеет фиксированную высоту и overflow-y: scroll;
.home-intro {
position: relative;
margin-bottom: 1rem;
height: 90rem;
background-color: white;
overflow-y: scroll;
&.in-back {
z-index: 1;
overflow: hidden;
}
}
Она находится в начале странице.
Я хочу, чтобы, когда юзер закончил скролить этот блок, то началась скроллится страница, и наоборот, когда страница будет скроллится вверх, то когда дойдет мышка до home-intro, чтобы этот блок стал скроллится.
Я добавил класс через javascript.
И вроде работает, но не так как хочется, то есть, не скроллится сразу, как мышка попала на home-intro, а нужно немного подождать.
export default function homeIntroScroll() {
const homeIntro = document.querySelector('.home-intro');
homeIntro.addEventListener('scroll', () => {
if (homeIntro.offsetHeight + homeIntro.scrollTop >= homeIntro.scrollHeight) {
homeIntro.classList.add('in-back');
}
})
window.onscroll = function (e) {
const scrollUp = this.oldScroll > this.scrollY;
if (scrollUp && window.pageYOffset < 800) {
homeIntro.classList.remove('in-back');
}
this.oldScroll = this.scrollY;
}
}