У меня есть бесконечно движущаяся лента с фамилиями людей, прокручиваясь на высоту одного блока лента замирает и в окошках, расположенных над этой лентой отображается человек и его расписание. Все данные хранятся в бд. Фамилии и расписание подгружается по мере надобности
// прокрутка ленты на высоту блока
function loadingScrollingPage(){
// если есть элемент в переменной LastActiveDoc
if (LastActiveDoc){
// вставим скопированный блок в самый конец общего блока
document.getElementsByClassName('doc')[0].parentNode.appendChild(LastActiveDoc);
// удалим первый блок
document.getElementsByClassName('doc')[0].remove();
PreloadDataCalendar();
}
// возьмем первый элемент
var activElement = document.getElementsByClassName('doc')[0];
//создадим див
LastActiveDoc = document.createElement('div');
//присвоим ему класс doc
LastActiveDoc.className = 'doc';
//поместим содержимое первого блока в созданный блок
LastActiveDoc.innerHTML = document.getElementsByClassName('doc')[0].innerHTML;
// возьмем высоту первого блока
var pixelScrollElement = activElement.offsetHeight;
var sum = 0; //служит для вывода номера активного блока ( для того чтобы счет велся с третьего блока)
if((numBlock+2)>countBlock)
{index++; sum = index; }
else{ index = 0; sum = numBlock+3;}
numBlock < countBlock?numBlock++:numBlock = 0;
// прокрутим блок вверх на всю его высоту
$(activElement).delay(10000).animate({ marginTop: -pixelScrollElement}, 5000,loadingScrollingPage);
}
в функции отображения графика (он отображается из JSON-файла), вызывается Effect()
function Effect(visualElement){
//присваивается значение блоку отображения
document.getElementById('effect').innerHTML = visualElement.innerHTML;
//запуск эффекта для графика и окна с "активным" человеком
$('.fc-day-grid, #in-active-block').stop().fadeIn(4500).delay(9500).fadeOut(800);
}
и вот здесь я начинаю тупить
Время, дающее в сумме 15с.(время прокрутки ленты) вызывает разницу в отображении, примерно на 6-ом блоке первой итерации, то что я применила выше также выдаст "мигание", но на 10-ом блоке 2-ой итерации, затем происходят какие-то короткие периоды, когда блоки отображаются нормально, затем снова начинают "мигать"