我正在尝试使用以下代码来创建连续动画
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);
但它不起作用,宽度没有重置但是不断增加,我写错了吗?
答案 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();
答案 1 :(得分:0)
duration
??
更好用
setInterval(function(){ //刷新列表},5000)
其中第二个参数是毫秒数。
关于everyTime的说明
如果您真的要使用everyTime,则需要将第一个参数设为字符串,即:
(文档)$ .everyTime( “5S”, function(i){},0);
没有使用'线性'的需要
如果您的动画突然停止,请检查duration
,增加动画时间或使用slow
。的jQuery( '#带')动画({宽度: '+ = 235px'},'慢');