如何在jQuery中为每个动画设置不同的帧速率

时间:2011-11-21 10:01:06

标签: jquery animation frame-rate

我知道jQuery中的帧率可以通过jQuery.fx.interval设置。 但是,它适用于所有 jQuery内部动画功能,例如slideDownfadeInanimate等。

我想为每个animate()设置帧速率,我怎么能达到这个目的?

2 个答案:

答案 0 :(得分:1)

来自API documentation page

  

由于jQuery使用一个全局间隔,因此不应运行任何动画,或者应停止所有动画以使此属性的更改生效。

     

注意:jQuery.fx.interval目前在支持requestAnimationFrame属性的浏览器中无效,例如Google Chrome 11.此行为在将来的版本中可能会发生变化。

我从中可以看出,您无法为单个animate电话设置帧速率,除非您愿意在完成之前没有动画,即使这样您也无法保证该行为。最好不要单独设置。

答案 1 :(得分:0)

您可以使用fx.interval更改此设置。像这样:

jQuery.fx.interval = 100;

$("input").click(function(){
  $("div").toggle( 3000 );
});

虽然它在文档中说:

jQuery.fx.interval目前在支持requestAnimationFrame属性的浏览器中无效,例如Google Chrome 11.此行为在将来的版本中可能会发生变化。