Мне нужна точность во время анимации, разделенная на этапы.Преобразование jQuery рекурсивный анимировать requestAnimationFrame
Ширина полосы выполнения увеличивается каждые 100 мс на 20 пикселей. Я использую jQuery's animate()
для анимации ширины.
Регистрация Date.now()
, ясно, что время меняется и неточно.
http://jsfiddle.net/trustweb/az3aE/23/
function animateProgress() {
console.log(Date.now() - progressTime);
progressTime = Date.now();
progress_width = $(progress).width();
if (progress_width < progressLimit) {
$(progress).animate(
{ width: '+=20' }, '' + progressTime, "linear", animateProgress
);
}
}
Я был reading about requestAnimationFrame
, и я предполагаю, что это правильный путь; как я могу преобразовать функцию выше, чтобы использовать requestAnimationFrame
, или достичь точного времени каким-то другим способом?
ли ваш реальный случай использования есть что-то чем расширить линию? (Потому что для примера, который вы показываете, я действительно не понимаю, почему вам нужно быть более точным - если вам действительно нужно регистрировать время, чтобы заметить неточность, это действительно не очень неточно.) – nnnnnn
@nnnnnn У меня есть комплекс DOM и да, мне просто нужно нарисовать линию, но выполнить несколько проверок в течение каждого цикла. время регистрации очень неточно, так как в этом примере латентность возрастает и в течение долгого времени будет иметь значение – Mike