动画后添加

时间:2016-03-31 20:09:33

标签: jquery

我想将div设置为另一个div,然后将其添加到动画的div前面。我有一个名为move_to_inventory的函数,可以为div设置动画。完成后我想要prepend_items来解雇。但我无法让它发挥作用。我在哪里做错了?

function move_to_inventory(spelPlan){
    $(spelPlan).children('.box').each(function() {
        $(this).one('click', function(){
            var inventoryPos = $("#inventory").position();
            $(this).animate({
                width: ($(this).width()/2),
                height: ($(this).height()/2),
                left:inventoryPos.left+13,
                top:inventoryPos.top+12
            }, 1000);
            prepend_items();
        });
    });

}

function prepend_items(){
    $(this).prependTo('#inventory');
}

1 个答案:

答案 0 :(得分:0)

jQuery's animate是异步的,因此在动画排队后,但在实际开始制作动画之前,会立即执行串行跟随它的代码。您可以将prepend_items作为回调传递给动画,以便在动画完成时执行。

变化:

        }, 1000);
        prepend_items();

要:

        }, 1000, prepend_items);