Полезно ли использовать requestanimationframe, когда javascript обновляет класс? - PullRequest
0 голосов
/ 09 ноября 2018

Context

Я узнал, что когда я хочу сохранить текучесть в моем пользовательском интерфейсе, вместо:

document.querySelector('#div').style.width = '100px';

Я могу использовать:

requestAnimationFrame(function() {
  document.querySelector('#div').style.width = '100px';
});

Вопрос

Полезно ли делать то же самое для смены класса? Я имею в виду это:

requestAnimationFrame(function() {
    document.querySelector('#div').classList.add('big');
});

полезно для поддержания хорошей текучести пользовательского интерфейса?

Примечание

Я также узнал из видео Джейка о цикле событий Javascript, что CSS применяется в другом потоке , чем в Javascript, поэтому мой вопрос, потому что, поскольку Javascript отправляет изменение класса, он считается частью цикла событий JS или цикла событий CSS?

1 Ответ

0 голосов
/ 13 ноября 2018

Я бы сказал, что вы не должны этого делать, если не знаете, почему вы этого хотите.

Ваша «текучесть», введенная RAF, на самом деле вызвана перемещением изменения с «сделать это сейчас» на «делать это, когда вы рисуете дальше».

Chart of redraws, credit dev.opera.com

Имиджевый кредит, а также хороший ресурс для получения дополнительной информации.

...