Задать вопрос
bogdan_uman
@bogdan_uman
шлЫмазл неукЪ-поцЪ

Оптимально window.resize и requestAnimationFrame?

Здравствуйте. Подскажите пожалуйста, оптимально ли решать trottle через requestAnimationFrame?
Есть блок и его нужно сделать по высоте страницы, когда высота меняется, нужно ему высоту сбыть в авто и потом уже присваивать высоту.
Может лучше сделать через trottle на setTimeout ?
Спасибо.

let running = false;

const update = () => {
  svg.style.height = 'auto';
  svg.style.height = `${document.documentElement.scrollHeight}px`;
  running = false;
}

const requestTick = () => {
  if(!running) requestAnimationFrame(update);
  running = true;
}

window.addEventListener('resize', requestTick);
  • Вопрос задан
  • 339 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 1
qmax
@qmax
программер
setTimeout - это event loop.
AnimationFrame - это перерисовка.
строчка "svg.style.height = 'auto';" не возымеет никакого эффекта.

просветляться тут: https://www.youtube.com/watch?v=cCOL7MC4Pl0
или тут: https://www.youtube.com/watch?v=8aGhZQkoFbQ
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы