действует примерно так, у меня есть функция, запускаемая в рекурсии в setTimeout с периодом 30сек. В этой функции идет  смена содержимого одного из блоков на странице. Так же в этой функции я запускаю в setInterval  функцию, которая запускает progress bar( это нужно для того чтобы показать сколько будет длиться кадр)
function progressLoad(){//отображение загрузки ( псевдо progress bar)
        var progress = $(document.getElementsByClassName('active-kadr')[document.getElementsByClassName('active-kadr').length-1]).find('.progress_bar');
        if(interest != 100) {
            interest++;
            progress[0].style.width = interest + '%';
                }else{}
    }
Посоветуйте пожалуйста, как можно реализовать данные действия, чтобы анимация действовала синхронно, т.е смена кадра соответствовала окончанию progress bar