@Alexander9292

Как remove и add сделать плавным?

Есть сайт - sniper24.beget.tech/ambassador
В оффере изначально существует 5 кругов, которые при скролле переходят на секцию ниже
6138881881dbd097288010.png

Необходимо сделать плавное удаление и добавление класса с помощью скрипта.
Как можно это реализовать плавно или есть какая-то альтернатива?

Сам скрипт:
const benefitsScroll = () => {
        window.addEventListener('scroll', () => {
            let scrollDistance = window.scrollY;

            document.querySelectorAll('.header, .offer, .benefits').forEach(item => {
                if (item.offsetTop >= document.querySelector('.benefits').clientHeight <= scrollDistance) {
                    document.querySelectorAll('.benefits-item .benefits-item__image').forEach(item => {
                        if (item.classList.contains('benefits-item__image')) {
                            item.classList.remove('benefits-item__image--active');
                        }
                    });
                } else if (item.offsetTop <= document.querySelector('.benefits').clientHeight <= scrollDistance) {
                    document.querySelectorAll('.benefits-item .benefits-item__image').forEach(item => {
                        if (item.classList.contains('benefits-item__image')) {
                            item.classList.add('benefits-item__image--active');
                        }
                    });
                }
            });
        });

        if (screen.width <= 760) {
            document.querySelectorAll('.benefits-item__image--active').forEach(item => {
                item.classList.remove('benefits-item__image--active');
            });
        }

    };
    benefitsScroll();
  • Вопрос задан
  • 420 просмотров
Решения вопроса 1
webirus
@webirus
Тыжверстальщик! Наверстай мне упущенное...
css transition в данном случае должен подойти.
Добавляемому классу сделать плавное появление.

PS: Наложение блоков на кнопку смотрится стрёмно)
61388979971cb830955992.png

PPS: А вообще, круто смотрелся бы такой сценарий.
Прокручивается страница, а эти 4 круга стоят на месте, но когда оним своим центром докручиваются до черных блоков снизу, круги приклеиваются к этим черным блокам и дальше страница скролится как обычно.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы