Как настроить автоматическую смену блоков каждые 3 секунды без остановки?

Как правильно организовать бесконечную смену блоков через каждые 3 секунды из массива объектов, чтобы они появлялись поочередно, а не все сразу? Вот пример кода.
  • 1 марта 2024 г. 13:38
Ответы на вопрос 2
Для реализации такой функциональности можно использовать setInterval() для автоматической смены блоков каждые 3 секунды. Также, для того чтобы блоки появлялись поочередно, можно использовать индекс текущего блока из массива объектов.

Пример кода:

```html
<!DOCTYPE html>
<html>
<head>
  <title>Автоматическая смена блоков</title>
</head>
<body>
  <div id="blocksContainer">
    <div class="block" style="display: none;">Блок 1</div>
    <div class="block" style="display: none;">Блок 2</div>
    <div class="block" style="display: none;">Блок 3</div>
  </div>
  
  <script>
    const blocks = document.querySelectorAll('.block');
    let currentBlockIndex = 0;
    
    function showNextBlock() {
      blocks.forEach(block => {
        block.style.display = 'none';
      });
      
      if (currentBlockIndex === blocks.length) {
        currentBlockIndex = 0;
      }
      
      blocks[currentBlockIndex].style.display = 'block';
      currentBlockIndex++;
    }
    
    showNextBlock(); // Показать первый блок сразу
    
    setInterval(showNextBlock, 3000); // Смена блоков каждые 3 секунды
  </script>
</body>
</html>
```

В этом примере блоки появляются поочередно из массива объектов с интервалом в 3 секунды. Первый блок отображается сразу после загрузки страницы.
Давайте своим блокам уникальные id и проверяйте какой сейчас существует. Если существует #user , то заменяем его на #admin и наоборот. Ну и с контейнером для блоков та же история. Если он существует, то очищаем его перед добавлением блока.
Похожие вопросы