Baseline Widely available
window.requestAnimationFrame
ÑказÑÐ²Ð°ÐµÑ Ð±ÑаÑзеÑÑ Ð½Ð° Ñо, ÑÑо Ð²Ñ Ñ
оÑиÑе пÑоизвеÑÑи анимаÑиÑ, и пÑоÑÐ¸Ñ ÐµÐ³Ð¾ запланиÑоваÑÑ Ð¿ÐµÑеÑиÑÐ¾Ð²ÐºÑ Ð½Ð° ÑледÑÑÑем кадÑе анимаÑии. РкаÑеÑÑве паÑамеÑÑа меÑод полÑÑÐ°ÐµÑ ÑÑнкÑиÑ, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð²Ñзвана пеÑед пеÑеÑиÑовкой.
ÐÑимеÑание: ÐÐ°Ñ callback меÑод Ñам должен вÑзваÑÑ requestAnimationFrame()
инаÑе анимаÑÐ¸Ñ Ð¾ÑÑановиÑÑÑ.
ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð²ÑзÑваÑÑ ÑÑÐ¾Ñ Ð¼ÐµÑод вÑÑкий Ñаз, когда гоÑÐ¾Ð²Ñ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ Ð°Ð½Ð¸Ð¼Ð°ÑÐ¸Ñ Ð½Ð° ÑкÑане, ÑÑÐ¾Ð±Ñ Ð·Ð°Ð¿ÑоÑиÑÑ Ð¿Ð»Ð°Ð½Ð¸Ñование анимаÑии. ÐбÑÑно запÑоÑÑ Ð¿ÑоиÑÑ
одÑÑ 60 Ñаз в ÑекÑндÑ, но ÑаÑе вÑего ÑовпадаÑÑ Ñ ÑаÑÑоÑой Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑкÑана. РболÑÑинÑÑве бÑаÑзеÑов в ÑоновÑÑ
вкладкаÑ
или ÑкÑÑÑÑÑ
<iframe>
, вÑÐ·Ð¾Ð²Ñ requestAnimationFrame()
пÑиоÑÑанавливаÑÑÑÑ, Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð²ÑÑиÑÑ Ð¿ÑоизводиÑелÑноÑÑÑ Ð¸ вÑÐµÐ¼Ñ ÑабоÑÑ Ð±Ð°ÑаÑеи.
Callback меÑÐ¾Ð´Ñ Ð¿ÐµÑедаÑÑÑÑ Ð¾Ð´Ð¸Ð½ аÑгÑменÑ, DOMHighResTimeStamp
, коÑоÑÑй ÑодеÑÐ¶Ð¸Ñ ÑекÑÑее вÑÐµÐ¼Ñ (колиÑеÑÑво миллиÑекÑнд, пÑоÑедÑиÑ
Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа time origin). Ðогда колбÑки, оÑпÑавленнÑе в оÑеÑÐµÐ´Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ requestAnimationFrame()
наÑинаÑÑ Ð²ÑзÑваÑÑ Ð½ÐµÑколÑко колбÑков в одном кадÑе, каждÑй полÑÑÐ°ÐµÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñй timestamp, Ñ
оÑÑ Ð´Ð»Ñ Ð²ÑÑиÑÐ»ÐµÐ½Ð¸Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ callback бÑло заÑÑаÑено вÑемÑ. ÐÑÐ¾Ñ timestamp - деÑÑÑиÑное ÑиÑло в миллиÑекÑндаÑ
, но Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ñной ÑоÑноÑÑÑÑ Ð² 1ms (1000 µs).
window.requestAnimationFrame(callback);
ÐаÑамеÑÑÑ
callback
ФÑнкÑиÑ, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð²Ñзвана, когда пÑидÑÑ Ð²ÑÐµÐ¼Ñ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ Ð²Ð°ÑÑ Ð°Ð½Ð¸Ð¼Ð°ÑÐ¸Ñ Ð½Ð° ÑледÑÑÑей пеÑеÑиÑовке.
element
ÐеобÑзаÑелÑнÑй
ÐеобÑзаÑелÑнÑй паÑамеÑÑ (не иÑполÑзÑеÑÑÑ Ð² Firefox или IE), опÑеделÑÑÑий ÑлеменÑ, коÑоÑÑй визÑалÑно ÑодеÑÐ¶Ð¸Ñ Ð²ÑÑ Ð°Ð½Ð¸Ð¼Ð°ÑиÑ. ÐÐ»Ñ canvas'а и WebGL'a им должен бÑÑÑ <canvas>
. ÐÐ»Ñ Ð´ÑÑгиÑ
ÑлеменÑов Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе опÑÑÑиÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð´Ð»Ñ ÑÑÑÑ Ð»ÑÑÑего полÑзоваÑелÑÑкого опÑÑа.
requestID
â длинное Ñелое, ÑвлÑÑÑееÑÑ ÑникалÑнÑм иденÑиÑикаÑоÑом Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи, ÑодеÑжаÑей callback. Ðно не Ñавно нÑлÑ, но дÑÑгиÑ
пÑедположений о его знаÑении делаÑÑ Ð½Ðµ ÑледÑеÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе пеÑедаÑÑ ÐµÐ³Ð¾ в window.cancelAnimationFrame()
Ð´Ð»Ñ Ð¾ÑÐ¼ÐµÐ½Ñ Ð²Ñзова.
var start = null;
var element = document.getElementById("SomeElementYouWantToAnimate");
function step(timestamp) {
if (!start) start = timestamp;
var progress = timestamp - start;
element.style.transform =
"translateX(" + Math.min(progress / 10, 200) + "px)";
if (progress < 2000) {
window.requestAnimationFrame(step);
}
}
window.requestAnimationFrame(step);
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4