我正在编写一个简单的jquery插件,允许我在某个滚动位置添加类到元素。为了实现这一点,我调用一个setInterval函数来检查当前的Y页面偏移量,而不是绑定 onScroll 事件:
interval = window.setInterval(update, 25);
如何看,我将间隔设置为25毫秒。我想知道这是不是一个合适的时间,以及如何有效地参与其中。
答案 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);
}