Есть такая проблема. На странице расположено несколько элементов .paralax при прокрутке им должен добавляться класс fixed при достижении определенного места. Делается это при скроле с помощью следующего js-кода:
var browserWindowHeight = document.documentElement.clientHeight;
var paralax = document.getElementsByClassName( 'paralax' );
window.addEventListener( 'scroll', function ( event ) {
for ( let i = 0; i < paralax.length; i++ ) {
const paralaxItem = paralax[i];
var distanceToBottom = paralaxItem.getBoundingClientRect().bottom;
if ( distanceToBottom <= browserWindowHeight ) {
paralaxItem.classList.add( 'fixed' );
}
else {
paralaxItem.classList.remove( 'fixed' );
}
}
} )
Соответственно данный класс должен удалятся при прокрутке страницы назад. Проблема заключается в том, что класс добавляется, но когда страница прокручивается далее и класс должен по идее оставаться присвоенным, он почему-то (для меня-новичка) мигает, т. е. при скролле я вижу в панели, что присвоенный класс то добавляется, то удаляется очень быстро. Если убрать блок else, то все идет нормально, класс не мигает, но он не убирается при скролле элемента назад.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите пожалуйста, как предотвратить временного зависания скрипта во время работы циклаНасколько я знаю, нельзя параллельно работать...
Как реализовать плавное выдвижение блока с помощью Jquery? Но нужно не просто скрыть/показать, а изначально должна быть видна верхняя часть...
Нужно сделать так чтобы когда вводят не число, в функцию prime, появилось сообщение, что нужно ввести только число