jQuery - 如何设置宽度增加?

时间:2011-04-04 12:02:17

标签: jquery animation jquery-animate

我正在尝试使用以下代码来创建连续动画

var running = function() {
  w = jQuery('#belt').width();
  if(w >= 940)
    jQuery('#belt').width(0);

  jQuery('#belt').animate({width: '+=235px'}, duration, 'linear');
}

jQuery(document).everyTime(duration, running);

但它不起作用,宽度没有重置但是不断增加,我写错了吗?

2 个答案:

答案 0 :(得分:1)

您只需使用the complete parameter for jQuery#animate()来定义动画完成时应执行的功能。添加一些递归,etvoilà:

jQuery.fn.continuousAnimation = function() {
  var $this = this;
  return $this.animate({ 'width': '+=235px' }, 400, 'linear', function() {
    $this.width(0).continuousAnimation();
  });
};

jQuery('#belt').continuousAnimation();

演示:http://jsfiddle.net/mathias/dRpgv/

答案 1 :(得分:0)

duration ??

的价值是多少?

更好用

  

setInterval(function(){       //刷新列表},5000)

其中第二个参数是毫秒数。

关于everyTime的说明

如果您真的要使用everyTime,则需要将第一个参数设为字符串,即:

  

(文档)$ .everyTime( “5S”,   function(i){},0);

没有使用'线性'的需要 如果您的动画突然停止,请检查duration,增加动画时间或使用slow

  。

的jQuery( '#带')动画({宽度:   '+ = 235px'},'慢');