4

我的 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秒一次的动画。怎么了?谢谢 !

4

2 回答 2

10

我的首选解决方案。这样,您的动画将 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'));
});
于 2013-04-12T18:55:33.693 回答
2

http://jsfiddle.net/3GHaf/

setInterval区分大小写。骆驼案它和它的工作原理。

于 2013-04-12T18:47:41.820 回答