Доброго времени суток!
Подскажите, пожалуйста, как каждые 5 сек выводить блок и в блоке подставлять title из массива объектов. По прошествии 5 секунд прятать блок. После 5 секунд снова показывать блок, но с выводом след элемента.
<div class="modals">
<div class="modal">
<p>На сайте только что купили</p>
<p class="modal__title"></p> // здесь выводить title из массива объектов
</div>
</div>
const titleModal = document.querySelector('.modal__title');
const modalWindow = document.querySelector('.modal');
const infoModal = [
{
title: 'Заголовок 1',
},
{
title: 'Заголовок 2',
},
{
title: 'Заголовок 3',
},
{
title: 'Заголовок 4',
},
];
function changeTitle(infoModal) {
modalWindow.classList.remove('_active');
infoModal.forEach((el, i) => {
setTimeout(() => {
modalWindow.classList.add('_active');
titleModal.innerHTML = el.title;
}, (i + 1) * 5000);
clearTimeout();
modalWindow.classList.remove('_active');
});
}
setTimeout(changeTitle, 5000, infoModal);
На данный момент блок появляется на странице через 5 сек и в нем каждые 5 сек выводится title.
Теперь нужно после появления блока через 5 секунд скрывать блок, далее через 5 сек показывать блок, но уже с "Заголовок 2", снова скрывать блок, после 5 сек показывать блок с "Заголовок 3".