2011-03-14 71 views
0

我正在建立一个网站使用大量的动画,但我必须限制动画jQuery.fx.interval = 100;所以CPU不会达到100%。由于动画速度较慢,我想知道是他们的一种方式,我可以在我的页面上有一个滑块,这样任何用户都可以通过将其滑动得更高或将其降至0来控制jQuery.fx.interval?如何使ui滑块来控制jQuery.fx.interval?

谢谢,任何帮助表示赞赏。

如何添加

jQuery.fx.interval = 100; 

为了这

$(function() { 
    $("#slider-range-min").slider({ 
     range: "min", 
     value: 100, 
     min: 0, 
     max: 700, 
     slide: function(event, ui) { 
      $("#amount").val(ui.value); 
     } 
    }); 
    $("#amount").val($("#slider-range-min").slider("value")); 
}); 

动画背景,使用jQuery插件backgroundPosition使用。 http://plugins.jquery.com/project/backgroundPosition-Effect

$(function(){ 
    $('body').animate({backgroundPosition:"(-99999px 0)"}, 6000000, 'linear'); 
    $('html').animate({backgroundPosition:"(-99999px -100000px)"}, 12000000, 'linear'); 
}); 

回答

0

为了方便起见,你可以使用这个插件: https://github.com/lrbabe/jquery.updateInterval

然后,你可以这样做:

$(document).ready(function() { 
    $("#slider").slider({ 
     range: "min", 
     value: 100, 
     min: 0, 
     max: 700, 
     stop: function(event, ui) { 
      $("#amount").html(ui.value); 
      $.fx.updateInterval(ui.value); 
     } 
    }); 
}); 

注意:

由于jQuery使用一个全局区间,没有动画应该是ru nning或所有动画应该停止以使该属性的更改生效。 http://api.jquery.com/jQuery.fx.interval/

+0

嗯......它不起作用。那么我需要将jQuery.fx.off一些如何? – Reave 2011-03-14 17:21:04

+0

你知道,如果你重新加载页面,上一个滑块值会丢失,jQuery.fx.interval值也是如此,对吧? 动画是否始终“运行”?您应该停止动画并重新启动它,以便使用新值。 – AlfaTeK 2011-03-14 17:22:18

+0

你说的对,我把它存入一个饼干。我一直运行的动画是背景。我有两个背景以不同的速度向相同的方向移动,因此产生了视差效果。 – Reave 2011-03-14 18:51:47