用setinterval创建jQuery动画

时间:2013-04-12 18:44:41

标签: jquery

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

2 个答案:

答案 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)

http://jsfiddle.net/3GHaf/

setInterval区分大小写。骆驼的情况,它的工作原理。