Javascript setInterval - 如何设置好时机&性能

时间:2011-04-01 15:01:15

标签: javascript performance setinterval

我正在编写一个简单的jquery插件,允许我在某个滚动位置添加类到元素。为了实现这一点,我调用一个setInterval函数来检查当前的Y页面偏移量,而不是绑定 onScroll 事件:

interval = window.setInterval(update, 25);

如何看,我将间隔设置为25毫秒。我想知道这是不是一个合适的时间,以及如何有效地参与其中。

2 个答案:

答案 0 :(得分:3)

为了在制作动画时提高效果,最好使用“requestAnimationFrame”。这样,当选项卡不活动时,浏览器不会一直更新+它可能会进行一些额外的优化。

大多数浏览器都不支持

requestAnimationFrame,但当然 - 保罗爱尔兰有一个漂亮的polyfill准备就绪:http://paulirish.com/2011/requestanimationframe-for-smart-animating/

答案 1 :(得分:2)

我认为性能方面你应该更好地使用类似下面的代码,这样你就可以确保更新函数只在运行更新函数时才会被触发。

function update() {
  //do stuff
  setTimer(); 
}

function setTimer() {
  timeout = window.setTimeout(update(), 25);
}