Я искал весь день и не могу понять, как это исправить.
Все, что я хочу сделать, - это перебрать группу элементов и выполнить следующие действия с каждым из них:
- Добавить класс
- Подождите 3 с
- Удалить добавленный класс
- Перейти к следующему элементу
Я пробовал много вещей, и теперь у меня есть это:
/* Avatars is an array of elements */
var i = 0
function testimonialCarousel(avatars){
const avatarsLen = avatars.length
avatars[i].classList.add("focused-avatar");
i++;
if (i > 0){
avatars[i-1].classList.remove("focused-avatar");
};
if (i < avatarsLen) {
setTimeout(testimonialCarousel.bind({}, avatars), 3000);
} else{
i = 0;
};
};
Я знаючто здесь уже есть много вопросов, касающихся задержки одной функции, например: Как добавить задержку в цикле JavaScript?
Это не мой случай. Я могу добиться этого, добавив класс для каждого элемента с интервалом 3 с. Чего я не могу достичь, так это шага «удалить класс».
Кто-нибудь может мне помочь?