Pull to refresh

Comments 12

Как же динамично разработчики Jquery работают. Спасибо!
headhunter >> Какой фреймворк вы считаете самым удачным?
webdev >> jQuery!!!
> Новая функция requestAnimationFrame будет использоваться вместо прежней setInterval для анимаций, если она есть во браузере.

Интересно, значит ли это, что в фф наконец появится нормальная плавная анимация?
интересно, что, насколько я знаю, именно от разработчиков фф поступил пропоузал на requestAnimationFrame.

он скорее для более адекватного распределения ресурсов системы, чем для более плавной анимации. Ведь основная идея не вызывать функции для рендеринга анимации когда вкладка неактивна.

Типа если у вас анимация через setTimeout то непонятно, нужно ли вызывать коллбек когда вкладка неактивна или нет. «requestAnimationFrame» решает эту проблему — туда вы закидываете коллбеки на рендеринг, и броузер уже сам решает нужно ли их вызывать или нет.

Chrome, FF, Opera поддерживают (правда с разными префиксами).
+ синхронизация анимации посредством requestAnimationFrame с анимацией и переходами посредствам css, и анимацией посредством smil в svg, что немаловажно, ибо setInterval не позволял этого в принципе.
rAF вообще крайне глюченая чтука которая работает далеко не так как нам ее преподносят.
Имхо лучше делать анимацию через некий центральный шедулер, который можно стопорить при деактивации вкладки.
А именно что плавную анимацию оставить транзишенам.
Как я недавно случайно обнаружил, FF4 при активном использовании транзишинов имеет весьма неприятную багу «мелькания» когда сначала мелькает конечный кадр, а потом идет транзишен к ниму. Пока не зарепортил, и в багзилле не нашел, но желающим могу показать (отошлю линку где посмотреть в пм, так как пока не хочу показать всем).

может кто встречался с подобным и знает воркараунд?
линку конечно пришлите, а так вообще самые жесткие баги в опере.
Но в обоих случаях фикситься просто — перед заданием нового транзишена:
1.Установить transitionDuration в 0
2.вызвать инвалидейт(element.parentNode.clientLeft)
3.Установить начальные значения css
4.(опционально еще раз вызвать инвалидейт(опера))
5.Наконец Установить требуемый транзишен с делеем.
Ну не знаю. Я игрался с requestAnimationFrame, разницы с setInterval/setTimeout в плане скорости анимации особо нету.

Ну, например, есть анимация для transform на 250мс. Запускается несколько раз, смотрится среднее время. В каком-нибудь хроме оно по 16-17 раз отработает (16/0.25 = 72 кадра/сек), через обычные таймауты — 15-16. В фоксе — 5-6 раз, что так, что эдак. Очень иногда (видимо, при хорошем настроении) — 10.

Но в любом случае, от requestAnimationFrame другие плюшки есть.
Очень радует столь быстрое развитие фреймворка, при этом не теряя качества.
«Во браузере», во истину, да во веки веков, аминь!
Sign up to leave a comment.

Articles