jquery动画队列

时间:2012-11-07 23:29:45

标签: jquery-animate jquery

我有一些span标签:

<span data-w="560"></span>
<span data-w="340"></span>
<span data-w="120"></span>

我有一个jQuery代码来设置每个跨度的动画,以达到data-w属性中预设的目标宽度:

$(document).ready(function(){

    $('span').each(function() {

        $(this).animate({width: $(this).attr('data-w') + 'px'}, 1000);

    });

});

这里一切正常。

现在我想让每个跨度单独动画,而不是所有跨度。

怎么做?可能与queue()?如何?

感谢。

1 个答案:

答案 0 :(得分:1)

也许你可以创建自己的队列:

var spanW_loop = 0;
var spanW_size = jQuery('#spanW span[data-w]').length;

    function animateSpanW() {
    var spanWidth = jQuery('#spanW').children('span[data-w]').eq(spanW_loop).attr('data-w');
        jQuery('#spanW').children('span[data-w]').eq(spanW_loop).animate({width: spanWidth + 'px'}, 1000, function() {
            spanW_loop += 1;
            if(spanW_loop < spanW_size) {
                animateSpanW();
            }
        });
    }

animateSpanW();