如何在jQuery中为每个动画设置不同的帧速率
我知道帧速率在jQuery中可以通过设置jQuery.fx.interval
。 但是,它适用于所有的 jQuery的内部动画功能,如slideDown
,fadeIn
和animate
等如何在jQuery中为每个动画设置不同的帧速率
我想为每个animate()
帧速率,我怎么可能archieve呢?
因为jQuery使用一个全球性的间隔,没有动画应该运行或所有的动画应该停止这个属性生效的变化。
注意:
jQuery.fx.interval
当前对支持requestAnimationFrame属性的浏览器(例如Google Chrome 11)没有影响。此行为在未来发行版中可能会有所更改。
我从这个,你不能设置帧率为个人animate
电话,除非你愿意没有动画,直到一个已经完成,即使如此,你不能保证的行为。单独离开设置可能是最好的。
您可以使用fx.interval来更改此设置。就像这样:
jQuery.fx.interval = 100;
$("input").click(function(){
$("div").toggle(3000);
});
虽然在文档中说:
jQuery.fx.interval目前在支持requestAnimationFrame属性的浏览器,如谷歌没有任何影响11.此行为是受在未来的版本中进行更改。
我已经在我的帖子中说过了。我想设置“每动画”帧频。这个答案与这个问题无关。 – steveyang
但是,如果您在调用特定的动画之前直接进行更改,则可以执行此操作。但是,如果您有多个动画同时运行,我认为您运气不佳。 –
因此,澄清,jQuery使用这样的:'window.setInterval(incrementAllAnimations,jQuery.fx.interval)'所以它是不可能改变它。 –
@NathanMacInnes [是的,差不多。](https://github.com/jquery/jquery/blob/master/src/effects.js#L457) – lonesomeday