Javascript Firefox中translate3d、requestAnimationFrame或CSS3动画重绘问题的设置间隔
我制作了一个可以无限循环背景的小插件。在编写代码之前,我测试了几种方法,任何有背景位置的方法都会弄乱重绘。 所以我制作了translate3d版本,认为CPU加速可以拯救我。现在脚本已经完成,但Firefox在scroll上有重新绘制的问题 全屏 所有其他浏览器都正常运行 如果您将setInterval设置为低于60的任何值,则会干扰FF 比我想的更难救我Javascript Firefox中translate3d、requestAnimationFrame或CSS3动画重绘问题的设置间隔,javascript,jquery,css,setinterval,requestanimationframe,Javascript,Jquery,Css,Setinterval,Requestanimationframe,我制作了一个可以无限循环背景的小插件。在编写代码之前,我测试了几种方法,任何有背景位置的方法都会弄乱重绘。 所以我制作了translate3d版本,认为CPU加速可以拯救我。现在脚本已经完成,但Firefox在scroll上有重新绘制的问题 全屏 所有其他浏览器都正常运行 如果您将setInterval设置为低于60的任何值,则会干扰FF 比我想的更难救我 setInterval(function(){ requestAnimationFrame(b
setInterval(function(){
requestAnimationFrame(bgscroll);
},options.durration);
但现在在FF我看到了印章
全屏
也许我在这里做的太多了,让我们做CSS3动画吧
和FF再次切碎,甚至比所有其他版本更糟
下面是我在FF中看到的视频前8秒是CSS3动画剪辑 剩下的18个是卷轴印章 这样你就不会觉得我在这里疯了 在视频中,在滚动过程中的某个点,它会释放并继续平滑滚动。不知道为什么 我的机器 我的gc GTX 970 Firefox版本40.0.3 在其他机器上也测试了这个,发现了同样的问题
有人能在这里给我一些启发,并可能提供一个解决方案 你用错了。它不应与
setInterval
一起使用。我建议您阅读@hindmost我不知道如何以另一种方式设置计时器,如果您这样做,请提供一个示例。重点是使用requestAnimationFrame
您根本不需要计时器,因为此函数取代了计时器功能。有关示例,请参阅上面的文章。@最后面的部分,看看我现在如何加快/减慢速度?您使用的方式不对。它不应与setInterval
一起使用。我建议您阅读@hindmost我不知道如何以另一种方式设置计时器,如果您这样做,请提供一个示例。重点是使用requestAnimationFrame
您根本不需要计时器,因为此函数取代了计时器功能。请参阅上面的文章以获取示例。@最后面的,看看我现在如何更快/更慢?