1
Я пытаюсь остановить прокрутку моей главной страницы, когда пользователь попадает в нижнюю часть двух отдельных разделов страницы, используя следующий код, но он останавливает колесо мыши от работы над этими дивизиями вообще.Не прокручивайте тело, когда мышь находится над дочерним элементом
var scroller = document.querySelector('#Filters');
scroller.addEventListener('wheel', listener);
function listener(event)
{
var elem = event.currentTarget;
if ((event.deltaY < 0 && elem.scrollTop === 0) ||
(event.deltaY > 0 && elem.offsetHeight + elem.scrollTop >= elem.scrollHeight))
{
event.preventDefault();
}
else if ((event.deltaX < 0 && elem.scrollLeft === 0) ||
(event.deltaX > 0 && elem.offsetWidth + elem.scrollLeft >= elem.scrollWidth))
{
event.preventDefault();
}
}
Это идеальный вариант, кроме меня есть содержание, которое движется, когда полоса прокрутки исчезает и страница становится шире. –
Если кто-то еще использует это решение и имеет проблему перемещений по правому краю, я использовал 'function enableScroll() { \t \t body.style.overflowY = 'auto'; \t \t $ ('body'). Css ({width: '100%'}); \t \t $ ('body'). Css ({float: 'none'}); . \t \t \t} \t функция disableScroll() { \t \t вар bodyWidth = $ ("тело") ширина(); \t \t body.style.overflowY = 'hidden'; \t \t $ ('body'). Css ({width: bodyWidth + 'px'}); \t \t $ ('body'). Css ({float: 'left'}); \t} 'чтобы исправить это. –