我的jQuery代码:
$(document).ready(function(){
setinterval(function(){
$("#animate").animate({'margin-left':'50px'},1000)
$("#animate").animate({'margin-left':'-50px'},1000)
},2000);
});
HTML:
<div id="animate">sdfdsfdsfsdfsdfds</div>
我想做每5秒一次的动画。怎么了? 谢谢!
答案 0 :(得分:9)
我的首选解决方案。这样,您的动画将100%真正同步,并且不会受到重叠动画的影响。相信我,而其他答案使用setInterval()
并且它“看起来”就像它有效一样,由于javascript的异步性质,这些解决方案在经过足够的迭代后会莫名其妙地失败。此外,它只对元素进行一次 DOM查找,并且只使用一次jQuery对象。
jQuery(function($){
(function swoop(element) {
element
.animate({'margin-left':'50px'}, 1000)
.animate({'margin-left':'-50px'}, 1000, function(){
setTimeout(function(){
swoop(element);
}, 5000);
});
})($('#animate'));
});
答案 1 :(得分:2)
setInterval
区分大小写。骆驼的情况,它的工作原理。