2016-03-31 6 views
0

divを別のdivにアニメーション化し、それをアニメーション化するdivの前に追加したいとします。私はdivをアニメーション化するmove_to_inventoryという関数を持っています。それが終わったら、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'); 
} 

答えて

0

jQuery's animate非同期であるので、シリーズでそれを次のコードは、アニメーションがキューイングされた直後に実行されますが、それは実際にアニメーションを開始する前に。 prepend_itemsをアニメーションにコールバックとして渡して、アニメーションが完了したときに実行させることができます。

変更:魔法のように動作

 }, 1000, prepend_items); 
+0

 }, 1000); prepend_items(); 

へ。ただし、前に付いた項目は消えます。何か提案はありますか? –

+0

ボックスの位置は:絶対;左の値です。それはそれを「消える」ようにしました。ご協力ありがとうございました! –

関連する問題