Javascript Firefox中translate3d、requestAnimationFrame或CSS3动画重绘问题的设置间隔

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

我制作了一个可以无限循环背景的小插件。在编写代码之前,我测试了几种方法,任何有背景位置的方法都会弄乱重绘。

所以我制作了translate3d版本,认为CPU加速可以拯救我。现在脚本已经完成,但Firefox在scroll上有重新绘制的问题

全屏

所有其他浏览器都正常运行

如果您将setInterval设置为低于60的任何值,则会干扰FF

比我想的更难救我

        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
您根本不需要计时器,因为此函数取代了计时器功能。请参阅上面的文章以获取示例。@最后面的,看看我现在如何更快/更慢?