pea*_*ent 0 javascript count division
我相信它涉及setinterval
我有第二个用这个
var s=today.getSeconds();
Run Code Online (Sandbox Code Playgroud)
然后使用setinterval
我有这个
setInterval(function(){ alert("Hello"); }, 3000);
Run Code Online (Sandbox Code Playgroud)
问题......我不认为我可以将第二个除以60并使用"异步"我认为我正在使用该单词,一个秒单位分为60次,每1/60增量发生一些事情
我想知道我是否应该/必须使用毫秒,因为这些单位存在,我可能只是使用比率或某事来相当于一秒/六十
正如评论中所建议的那样,由于您每秒要求60次,这可能意味着您想要更新动画,即更改屏幕上某些DOM元素的颜色,位置,形状等.
为此,建议使用
requestAnimationFrame而不是setInterval.
而不是
setInterval(function () {
doSomething();
}, 16)
Run Code Online (Sandbox Code Playgroud)
使用
function myFunction () {
doSomething();
requestAnimationFrame(myFunction);
}
requestAnimationFrame(myFunction);
Run Code Online (Sandbox Code Playgroud)
这允许浏览器执行某些优化.
来自MDN:
只要您准备好在屏幕上更新动画,就应该调用此方法.这将请求在浏览器执行下一次重绘之前调用您的动画函数.回调次数通常为每秒60次,但根据W3C建议,通常会与大多数Web浏览器中的显示刷新率相匹配.
在后台选项卡中运行时,回调率可能会降低到较低的速率.
这个名字requestAnimationFrame可能有点令人困惑,但你应该把它读作"请callback在浏览器准备好重新绘制屏幕时运行我",即你让浏览器决定确切的时间而不是自己强加它.