jQuery - 如何在宽度增加时设置宽度?
我正在尝试使用以下代码来创建连续的动画,
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);
但它不起作用,宽度没有重置而是不断增加,我写错了吗?
I am trying to use following codes to create a continuely animatation
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);
But it doesn't work, the width didn't get reset but continuely increasing, did i write wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您只需使用
complete
参数来实现jQuery#animate()
定义动画完成时应执行的函数。添加一些递归,等等:演示:http://jsfiddle.net/mathias/dRpgv/
You can simply use the
complete
parameter forjQuery#animate()
to define a function that should be executed when the animation is completed. Add some recursion, et voilà:Demo: http://jsfiddle.net/mathias/dRpgv/
duration
的值是多少?更好用
其中第二个参数是毫秒数。
关于 everyTime 的注意事项
如果您确实想使用 everyTime,则需要将第一个参数设置为字符串,即:
不需要使用“线性”
如果您的动画突然停止,请检查
持续时间
,增加动画时间或使用慢速
what is the value of
duration
??better to use
where the second parameter is the number of milliseconds.
Note on everyTime
If really you want to use everyTime, you'll need to make your first parameter a string, that is:
no such need of using 'linear'
if your animate sudden stops then check check the
duration
, increase animation time or useslow