{ "title":"requestAnimationFrame", "description":"API allowing a more efficient way of running script-based animation, compared to traditional methods using timeouts. Also covers support for `cancelAnimationFrame`", "spec":"https://html.spec.whatwg.org/multipage/webappapis.html#animation-frames", "status":"ls", "links":[ { "url":"http://paulirish.com/2011/requestanimationframe-for-smart-animating/", "title":"Blog post" }, { "url":"http://hacks.mozilla.org/2011/08/animating-with-javascript-from-setinterval-to-requestanimationframe/", "title":"Mozilla Hacks article" }, { "url":"http://docs.webplatform.org/wiki/dom/Window/requestAnimationFrame", "title":"WebPlatform Docs" }, { "url":"https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame", "title":"MDN Docs" } ], "bugs":[ { "description":"There's [an issue](http://forums.greensock.com/topic/6639-tweens-not-working-on-ios6/?p=24455#entry24455) with requestAnimationFrame on iOS6, the bug still appears to exist in 6.1.3" } ], "categories":[ "JS API" ], "stats":{ "ie":{ "5.5":"n", "6":"n", "7":"n", "8":"n", "9":"n", "10":"y", "11":"y" }, "edge":{ "12":"y", "13":"y", "14":"y", "15":"y" }, "firefox":{ "2":"n", "3":"n", "3.5":"n", "3.6":"n", "4":"a x #1", "5":"a x #1", "6":"a x #1", "7":"a x #1", "8":"a x #1", "9":"a x #1", "10":"a x #1", "11":"y x", "12":"y x", "13":"y x", "14":"y x", "15":"y x", "16":"y x", "17":"y x", "18":"y x", "19":"y x", "20":"y x", "21":"y x", "22":"y x", "23":"y", "24":"y", "25":"y", "26":"y", "27":"y", "28":"y", "29":"y", "30":"y", "31":"y", "32":"y", "33":"y", "34":"y", "35":"y", "36":"y", "37":"y", "38":"y", "39":"y", "40":"y", "41":"y", "42":"y", "43":"y", "44":"y", "45":"y", "46":"y", "47":"y", "48":"y", "49":"y", "50":"y", "51":"y", "52":"y", "53":"y", "54":"y" }, "chrome":{ "4":"n", "5":"n", "6":"n", "7":"n", "8":"n", "9":"n", "10":"a x #1 #2", "11":"a x #1 #2", "12":"a x #1 #2", "13":"a x #1 #2", "14":"a x #1 #2", "15":"a x #1 #2", "16":"a x #1 #2", "17":"a x #1 #2", "18":"a x #1", "19":"a x #1", "20":"a x #1", "21":"a x #1", "22":"y x", "23":"y x", "24":"y", "25":"y", "26":"y", "27":"y", "28":"y", "29":"y", "30":"y", "31":"y", "32":"y", "33":"y", "34":"y", "35":"y", "36":"y", "37":"y", "38":"y", "39":"y", "40":"y", "41":"y", "42":"y", "43":"y", "44":"y", "45":"y", "46":"y", "47":"y", "48":"y", "49":"y", "50":"y", "51":"y", "52":"y", "53":"y", "54":"y", "55":"y", "56":"y", "57":"y", "58":"y", "59":"y" }, "safari":{ "3.1":"n", "3.2":"n", "4":"n", "5":"n", "5.1":"n", "6":"y x", "6.1":"y", "7":"y", "7.1":"y", "8":"y", "9":"y", "9.1":"y", "10":"y", "10.1":"y", "TP":"y" }, "opera":{ "9":"n", "9.5-9.6":"n", "10.0-10.1":"n", "10.5":"n", "10.6":"n", "11":"n", "11.1":"n", "11.5":"n", "11.6":"n", "12":"n", "12.1":"n", "15":"y", "16":"y", "17":"y", "18":"y", "19":"y", "20":"y", "21":"y", "22":"y", "23":"y", "24":"y", "25":"y", "26":"y", "27":"y", "28":"y", "29":"y", "30":"y", "31":"y", "32":"y", "33":"y", "34":"y", "35":"y", "36":"y", "37":"y", "38":"y", "39":"y", "40":"y", "41":"y", "42":"y", "43":"y", "44":"y", "45":"y" }, "ios_saf":{ "3.2":"n", "4.0-4.1":"n", "4.2-4.3":"n", "5.0-5.1":"n", "6.0-6.1":"y x", "7.0-7.1":"y", "8":"y", "8.1-8.4":"y", "9.0-9.2":"y", "9.3":"y", "10.0-10.2":"y" }, "op_mini":{ "all":"n" }, "android":{ "2.1":"n", "2.2":"n", "2.3":"n", "3":"n", "4":"n", "4.1":"n", "4.2-4.3":"n", "4.4":"y", "4.4.3-4.4.4":"y", "53":"y" }, "bb":{ "7":"n", "10":"y" }, "op_mob":{ "10":"n", "11":"n", "11.1":"n", "11.5":"n", "12":"n", "12.1":"n", "37":"y" }, "and_chr":{ "56":"y" }, "and_ff":{ "51":"y" }, "ie_mob":{ "10":"y", "11":"y" }, "and_uc":{ "11":"y" }, "samsung":{ "4":"y" }, "and_qq":{ "1.2":"y" } }, "notes":"", "notes_by_num":{ "1":"Partial support refers to lacking `cancelAnimationFrame` support.", "2":"Supports `webkitCancelRequestAnimationFrame` rather than `webkitCancelAnimationFrame." }, "usage_perc_y":92.82, "usage_perc_a":0.17, "ucprefix":false, "parent":"", "keywords":"", "ie_id":"requestanimationframe", "chrome_id":"5233400470306816", "firefox_id":"", "webkit_id":"", "shown":true }