MhMorozov
@MhMorozov

Как сделать смену opacity каждые 5 сек?

Здравствуйте! Весь вчерашний день ломал голову, мне нужно, чтобы блоки, которые за счет absolute лежат друг на друге, каждые 5 сек менялись. Я это сделал так, что изначально они все скрыты, потом через секунду появляется первый блок, затем 2-ой, 3-ий, после четвертого они все исчезают и всё заново. Изначально всё идет как надо, но после появления 4-ого блока начинается вакханалия, блоки рандомно появляются и исчезают, без какой-либо последовательности. Скорее всего я неправильно использую setInterval, отчасти я понимаю, почему так происходит, но никак не могу это решить, буду крайне благодарен, если поможете) https://codepen.io/Eugeniy/pen/JjXVVdd
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
let index = -1;
setInterval($items => {
  $items.eq(index).fadeOut('slow');
  index = (index + 1) % $items.length;
  $items.eq(index).fadeIn('slow');
}, 5000, $('.sloi'));
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Tim-A-2020
@Tim-A-2020
примерно так
let i = 1;
setInterval(() => {
    $('#sloi' + i).fadeIn('slow');
    if (i > 4) {
        i = 1;
        $('#sloi2, #sloi3, #sloi4').fadeOut('slow');
    }
    i++;
}, 5000)
Ответ написан
Ваш ответ на вопрос

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

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