(function (elements) {
var i = -1;
var className = 'highlighted';
if (!elements.length) {
return false;
}
function step() {
elements.eq(i).removeClass(className);
if (++i >= elements.length) {
i = 0;
};
elements.eq(i).addClass(className);
setTimeout(step, 3000);
}
step();
}($('#general_process').children()));
Мы используем замыкание, чтобы самостоятельно содержать все переменные, которые мы используем для отслеживания состояния.
Затем у нас есть функция step()
, которая выполняется каждые 3 секунды ... она удаляетclass из текущего элемента, возвращается к первому элементу, если мы в данный момент на последнем, и затем добавляет класс к целевому элементу.
Посмотреть демонстрацию здесь