我刚刚浏览了vivus.js的来源并遇到了以下代码:
requestAnimFrame = (function () {
return (
window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(/* function */ callback){
return window.setTimeout(callback, 1000 / 60);
}
);
})();
现在是ofcource我运行最新版本的chrome并且第一个条件是真的,实际返回的是什么,但我真正关心的是最后一个条件I.E。
function(/* function */ callback){
return window.setTimeout(callback, 1000 / 60);
}
为什么1000 / 60
?我理解为什么使用setTimeout,但1000/60真正做了什么?任何人都可以解释这部分吗?
P.S。我知道它是一个数学问题,但由于它涉及大量代码,我不得不在SO上发布。
谢谢。
答案 0 :(得分:3)
每秒60帧是大多数人认为动画平滑动画的最低帧速率。
因此每1000秒(1s)运行一次。