Yevhen89
@Yevhen89
Front-end developer, учусь активно)

Что скажите про такой вариант слайдера?

Оцените пожалуйста код, требуется ли рефакторинг(и какой). Это слайдер, в стилях добавляется opacity. Ни где не подглядывал чужие коды, все делал из своей головы и имеющихся знаний
(function () {
    let slides = document.querySelectorAll('.hero__slide');
    let pags = document.querySelectorAll('.hero__pag');

    function slider() {
        for (let i = 0; i < slides.length; i++) {
            if (slides[i].classList.contains('hero__slide--active')) {

                slides[i].classList.remove('hero__slide--active');
                pags[i].classList.remove('hero__pag--active');

                if (i === slides.length - 1) {
                    slides[0].classList.add('hero__slide--active');
                    pags[0].classList.add('hero__pag--active');
                } else {
                    slides[i + 1].classList.add('hero__slide--active');
                    pags[i + 1].classList.add('hero__pag--active');
                }
                return
            }

        }
    }

    setInterval(slider, 1000);
})()
  • Вопрос задан
  • 181 просмотр
Пригласить эксперта
Ответы на вопрос 1
0xD34F
@0xD34F Куратор тега JavaScript
Вместо перебора всех элементов посредством цикла следует хранить индекс активного.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 30 000 до 65 000 руб.
BSSL Москва
от 50 000 до 150 000 руб.
от 60 000 до 90 000 руб.
16 июл. 2019, в 13:48
15000 руб./за проект
16 июл. 2019, в 13:42
10000 руб./за проект